yzc 1 рік тому
батько
коміт
0de942ee5b

+ 10 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionOrderDetailVo.java

@@ -138,4 +138,14 @@ public class ProductionOrderDetailVo extends ProductionOrderDetail {
      * 生产备注
      */
     private String prodRemark;
+
+    /**
+     * 业务员id
+     */
+    private Long saleUserId;
+
+    /**
+     * 业务员名称
+     */
+    private String saleUserName;
 }

+ 11 - 3
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderDetailServiceImpl.java

@@ -25,9 +25,11 @@ import com.fjhx.sale.service.contract.ContractProductBomService;
 import com.fjhx.sale.service.contract.ContractProductService;
 import com.fjhx.tenant.utils.DeptUstil;
 import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
-import com.ruoyi.common.utils.wrapper.SqlField;
+import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -57,6 +59,8 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
     private ContractProductBomService contractProductBomService;
     @Autowired
     private ProduceOrderService produceOrderService;
+    @Autowired
+    private ISysUserService sysUserService;
 
     @Override
     public Page<ProductionOrderDetailVo> getPage(ProduceOrderDetailSelectDto dto) {
@@ -75,11 +79,12 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
         wrapper.le("po", ProductionOrder::getCreateTime, dto.getEndTime());
         //关键字
         if (ObjectUtil.isNotEmpty(dto.getKeyword())) {
+            List<SysUser> list = sysUserService.list(IWrapper.<SysUser>getWrapper().like(SysUser::getNickName, dto.getKeyword()));
+            List<Long> uIds = list.stream().map(SysUser::getUserId).collect(Collectors.toList());
             wrapper.and(q -> q
                     .like("po.code", dto.getKeyword())
-                    .or().apply("po.contract_id in (SELECT DISTINCT c.id FROM contract c JOIN customer cu ON c.buy_corporation_id = cu.id JOIN sys_user su ON cu.user_id = su.user_id WHERE su.nick_name LIKE CONCAT('%', {0},'%'))", dto.getKeyword())
+                    .or().in("c.create_user", uIds)
             );
-            wrapper.keyword(dto.getKeyword(), new SqlField("po", ProductionOrder::getCode));
         }
 
         wrapper.orderByDesc("po", ProductionOrder::getCreateTime);
@@ -178,6 +183,9 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
             record.setCompanyName(companyNameMap.get(record.getCompanyId()));
         }
 
+        //赋值业务员名称
+        UserUtil.assignmentNickName(records, ProductionOrderDetailVo::getSaleUserId, ProductionOrderDetailVo::setSaleUserName);
+
         return page;
     }
 

+ 2 - 1
hx-mes/src/main/resources/mapper/production/ProduceOrderDetailMapper.xml

@@ -25,7 +25,8 @@
 			   (if(IFNULL(po.finish_time, NOW()) > po.delivery_period, 1, 0)) AS isOverdue,
 			   pod.remark,
 			   c.prod_tag,
-			   c.prod_remark
+			   c.prod_remark,
+			   c.create_user                                                  as saleUserId
 		FROM production_order_detail pod
 				 LEFT JOIN production_order po ON pod.produce_order_id = po.id
 				 LEFT JOIN contract c ON pod.contract_id = c.id