From e1ee1084bb6db4f8a87894109be1b7a9d216cfec Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 八月 2023 18:29:35 +0800
Subject: [PATCH] 111
---
server/src/main/java/doumeemes/dao/business/dto/CreateUnqualifiedDTO.java | 23 +
server/src/main/java/doumeemes/api/business/UnqualifiedRecordController.java | 71 +++++
server/src/main/java/doumeemes/service/ext/CategoryExtService.java | 2
server/src/main/java/doumeemes/config/shiro/ShiroRealm.java | 6
server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java | 48 +++
server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java | 97 +++++++
server/src/main/resources/mappers/PlansExtMapper.xml | 1
server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java | 79 ++++++
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java | 262 ++++++++++++++-----
server/src/main/resources/mappers/UserDeviceExtMapper.xml | 2
server/src/main/java/doumeemes/dao/business/UnqualifiedRecordMapper.java | 12
server/src/main/java/doumeemes/service/ext/impl/CategoryExtServiceImpl.java | 6
server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java | 124 +++++++++
server/src/main/java/doumeemes/dao/business/dto/AutoWorkReportDTO.java | 3
server/src/main/java/doumeemes/dao/ext/vo/PlansExtListVO.java | 7
server/src/main/java/doumeemes/api/ext/CategoryExtController.java | 9
16 files changed, 657 insertions(+), 95 deletions(-)
diff --git a/server/src/main/java/doumeemes/api/business/UnqualifiedRecordController.java b/server/src/main/java/doumeemes/api/business/UnqualifiedRecordController.java
new file mode 100644
index 0000000..5fd198e
--- /dev/null
+++ b/server/src/main/java/doumeemes/api/business/UnqualifiedRecordController.java
@@ -0,0 +1,71 @@
+package doumeemes.api.business;
+
+import doumeemes.api.BaseController;
+import doumeemes.core.annotation.excel.ExcelExporter;
+import doumeemes.core.annotation.pr.PreventRepeat;
+import doumeemes.core.model.ApiResponse;
+import doumeemes.core.model.PageWrap;
+import doumeemes.core.model.PageData;
+import doumeemes.dao.business.model.UnqualifiedRecord;
+import doumeemes.service.business.UnqualifiedRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @since 2023/08/16 14:15
+ */
+@Api(tags = "宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛�")
+@RestController
+@RequestMapping("/business/unqualifiedRecord")
+public class UnqualifiedRecordController extends BaseController {
+
+ @Autowired
+ private UnqualifiedRecordService unqualifiedRecordService;
+
+ @PreventRepeat
+ @ApiOperation("鏂板缓")
+ @PostMapping("/create")
+ @RequiresPermissions("business:unqualifiedrecord:create")
+ public ApiResponse create(@RequestBody UnqualifiedRecord unqualifiedRecord) {
+ return ApiResponse.success(unqualifiedRecordService.create(unqualifiedRecord));
+ }
+
+ @ApiOperation("鏍规嵁ID鍒犻櫎")
+ @GetMapping("/delete/{id}")
+ @RequiresPermissions("business:unqualifiedrecord:delete")
+ public ApiResponse deleteById(@PathVariable Integer id) {
+ unqualifiedRecordService.deleteById(id);
+ return ApiResponse.success(null);
+ }
+
+
+ @ApiOperation("鏍规嵁ID淇敼")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:unqualifiedrecord:update")
+ public ApiResponse updateById(@RequestBody UnqualifiedRecord unqualifiedRecord) {
+ unqualifiedRecordService.updateById(unqualifiedRecord);
+ return ApiResponse.success(null);
+ }
+
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ @PostMapping("/page")
+ @RequiresPermissions("business:unqualifiedrecord:query")
+ public ApiResponse<PageData<UnqualifiedRecord>> findPage (@RequestBody PageWrap<UnqualifiedRecord> pageWrap) {
+ return ApiResponse.success(unqualifiedRecordService.findPage(pageWrap));
+ }
+
+ @ApiOperation("鏍规嵁ID鏌ヨ")
+ @GetMapping("/{id}")
+ @RequiresPermissions("business:unqualifiedrecord:query")
+ public ApiResponse findById(@PathVariable Integer id) {
+ return ApiResponse.success(unqualifiedRecordService.findById(id));
+ }
+}
diff --git a/server/src/main/java/doumeemes/api/ext/CategoryExtController.java b/server/src/main/java/doumeemes/api/ext/CategoryExtController.java
index 48cbff8..ebb69c3 100644
--- a/server/src/main/java/doumeemes/api/ext/CategoryExtController.java
+++ b/server/src/main/java/doumeemes/api/ext/CategoryExtController.java
@@ -154,6 +154,15 @@
return ApiResponse.success(categoryExtService.findPage(pageWrap));
}
+ @ApiOperation("鍒楄〃鏌ヨ")
+ @PostMapping("/list")
+ @RequiresPermissions("ext:categoryext:query")
+ public ApiResponse<List<CategoryExtListVO>> list(@RequestBody QueryCategoryExtDTO queryCategoryExtDTO) {
+ queryCategoryExtDTO.setDeleted(Constants.ZERO);
+ queryCategoryExtDTO.setRootDepartId(getLoginUser().getRootDepartment().getId());
+ return ApiResponse.success(categoryExtService.findList(queryCategoryExtDTO));
+ }
+
@ApiOperation("瀵煎嚭Excel")
@PostMapping("/exportExcel")
@RequiresPermissions("ext:categoryext:exportExcel")
diff --git a/server/src/main/java/doumeemes/config/shiro/ShiroRealm.java b/server/src/main/java/doumeemes/config/shiro/ShiroRealm.java
index 3db5c23..e130db9 100644
--- a/server/src/main/java/doumeemes/config/shiro/ShiroRealm.java
+++ b/server/src/main/java/doumeemes/config/shiro/ShiroRealm.java
@@ -146,9 +146,9 @@
if(cu == null){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヤ紒涓氱敤鎴蜂笉瀛樺湪锛�");
}
-// if(Constants.equalsInteger(cu.getStatus(),Constants.ONE)){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヤ紒涓氱敤鎴峰凡绂佺敤锛�");
-// }
+ if(Constants.equalsInteger(cu.getStatus(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ヤ紒涓氱敤鎴峰凡绂佺敤锛�");
+ }
rootDepart = departmentExtService.getModelById(c.getCompanyId(),cu.getRootDepartId());
comDepart = departmentExtService.getModelById(c.getCompanyId(),cu.getComDepartId());
depart = departmentExtService.getModelById(c.getCompanyId(),cu.getDepartmentId());
diff --git a/server/src/main/java/doumeemes/dao/business/UnqualifiedRecordMapper.java b/server/src/main/java/doumeemes/dao/business/UnqualifiedRecordMapper.java
new file mode 100644
index 0000000..828d535
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/business/UnqualifiedRecordMapper.java
@@ -0,0 +1,12 @@
+package doumeemes.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import doumeemes.dao.business.model.UnqualifiedRecord;
+
+/**
+ * @author 姹熻箘韫�
+ * @since 2023/08/16 14:15
+ */
+public interface UnqualifiedRecordMapper extends BaseMapper<UnqualifiedRecord> {
+
+}
diff --git a/server/src/main/java/doumeemes/dao/business/dto/AutoWorkReportDTO.java b/server/src/main/java/doumeemes/dao/business/dto/AutoWorkReportDTO.java
index f77d297..4026b98 100644
--- a/server/src/main/java/doumeemes/dao/business/dto/AutoWorkReportDTO.java
+++ b/server/src/main/java/doumeemes/dao/business/dto/AutoWorkReportDTO.java
@@ -33,4 +33,7 @@
@ApiModelProperty(value = "浜у嚭璁板綍")
private CreateWorkorderRecordDTO createWorkorderRecordDTO;
+ @ApiModelProperty(value = "涓嶈壇鍝佸垎绫昏褰�")
+ private List<CreateUnqualifiedDTO> createUnqualifiedDTOList ;
+
}
diff --git a/server/src/main/java/doumeemes/dao/business/dto/CreateUnqualifiedDTO.java b/server/src/main/java/doumeemes/dao/business/dto/CreateUnqualifiedDTO.java
new file mode 100644
index 0000000..079b616
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/business/dto/CreateUnqualifiedDTO.java
@@ -0,0 +1,23 @@
+package doumeemes.dao.business.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2022/05/12 10:18
+ */
+@Data
+public class CreateUnqualifiedDTO {
+
+ @ApiModelProperty(value = "涓嶈壇绫诲埆涓婚敭" )
+ private Integer categoryId;
+
+ @ApiModelProperty(value = "妫�楠屼笉鍚堟牸鏁伴噺")
+ private BigDecimal unQualifiedNum;
+
+
+
+}
diff --git a/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java b/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java
new file mode 100644
index 0000000..485712f
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/business/model/UnqualifiedRecord.java
@@ -0,0 +1,79 @@
+package doumeemes.dao.business.model;
+
+import doumeemes.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * 宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛�
+ * @author 姹熻箘韫�
+ * @since 2023/08/16 14:15
+ */
+@Data
+@ApiModel("宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛�")
+@TableName("`unqualified_record`")
+public class UnqualifiedRecord {
+
+ @TableId(type = IdType.AUTO)
+ @ApiModelProperty(value = "涓婚敭", example = "1")
+ @ExcelColumn(name="涓婚敭")
+ private Integer id;
+
+ @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
+ @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+ private Integer deleted;
+
+ @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+ private Integer createUser;
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @ExcelColumn(name="鍒涘缓鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createTime;
+
+ @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+ @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "鏇存柊鏃堕棿")
+ @ExcelColumn(name="鏇存柊鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date updateTime;
+
+ @ApiModelProperty(value = "澶囨敞")
+ @ExcelColumn(name="澶囨敞")
+ private String remark;
+
+ @ApiModelProperty(value = "涓荤粍缁囩紪鐮侊紙鍏宠仈department琛ㄦ牴缁勭粐锛�", example = "1")
+ @ExcelColumn(name="涓荤粍缁囩紪鐮侊紙鍏宠仈department琛ㄦ牴缁勭粐锛�")
+ private Integer rootDepartId;
+
+ @ApiModelProperty(value = "鍏徃绾х粍缁囩紪鐮侊紙鍏宠仈department琛級", example = "1")
+ @ExcelColumn(name="鍏徃绾х粍缁囩紪鐮侊紙鍏宠仈department琛級")
+ private Integer departId;
+
+ @ApiModelProperty(value = "宸ュ崟涓婚敭", example = "1")
+ @ExcelColumn(name="宸ュ崟涓婚敭")
+ private Integer workorderId;
+
+ @ApiModelProperty(value = "浜у嚭璁板綍涓婚敭", example = "1")
+ @ExcelColumn(name="浜у嚭璁板綍涓婚敭")
+ private Integer recordId;
+
+ @ApiModelProperty(value = "绫诲埆涓婚敭", example = "1")
+ @ExcelColumn(name="绫诲埆涓婚敭")
+ private Integer categoryId;
+
+ @ApiModelProperty(value = "妫�楠屼笉鍚堟牸鏁伴噺", example = "1")
+ @ExcelColumn(name="妫�楠屼笉鍚堟牸鏁伴噺")
+ private BigDecimal unqualifiedNum;
+
+}
diff --git a/server/src/main/java/doumeemes/dao/ext/vo/PlansExtListVO.java b/server/src/main/java/doumeemes/dao/ext/vo/PlansExtListVO.java
index 342aac0..697f643 100644
--- a/server/src/main/java/doumeemes/dao/ext/vo/PlansExtListVO.java
+++ b/server/src/main/java/doumeemes/dao/ext/vo/PlansExtListVO.java
@@ -153,8 +153,7 @@
@ExcelColumn(name="璁″垝鏃ユ湡",index = 4,width =15)
@JsonFormat(pattern = "yyyy-MM-dd")
private Date workPlanPlanDate;
- @ApiModelProperty(value = "鎴愬搧璁″垝缁撴潫鏃ユ湡")
- @ExcelColumn(name="璁″垝鏃ユ湡",index = 3,width =15)
+ @ApiModelProperty(value = "鎴愬搧璁″垝寮�濮嬫棩鏈�")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date workPlanStartDate;
@@ -182,10 +181,6 @@
@ExcelColumn(name="閿�鍞鍗�")
private String salesOrder;
-
-// @ApiModelProperty(value = "鎴愬搧璁″垝寮�濮嬫椂闂�")
-// @JsonFormat(pattern = "yyyy-MM-dd")
-// private Date workPlanStartDate;
@ApiModelProperty(value = "鎴愬搧璁″垝缁撴潫鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
diff --git a/server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java b/server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java
new file mode 100644
index 0000000..0024bb7
--- /dev/null
+++ b/server/src/main/java/doumeemes/service/business/UnqualifiedRecordService.java
@@ -0,0 +1,97 @@
+package doumeemes.service.business;
+
+import doumeemes.core.model.PageData;
+import doumeemes.core.model.PageWrap;
+import doumeemes.dao.business.model.UnqualifiedRecord;
+import java.util.List;
+
+/**
+ * 宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @since 2023/08/16 14:15
+ */
+public interface UnqualifiedRecordService {
+
+ /**
+ * 鍒涘缓
+ *
+ * @param unqualifiedRecord 瀹炰綋瀵硅薄
+ * @return Integer
+ */
+ Integer create(UnqualifiedRecord unqualifiedRecord);
+
+ /**
+ * 涓婚敭鍒犻櫎
+ *
+ * @param id 涓婚敭
+ */
+ void deleteById(Integer id);
+
+ /**
+ * 鍒犻櫎
+ *
+ * @param unqualifiedRecord 瀹炰綋瀵硅薄
+ */
+ void delete(UnqualifiedRecord unqualifiedRecord);
+
+ /**
+ * 鎵归噺涓婚敭鍒犻櫎
+ *
+ * @param ids 涓婚敭闆�
+ */
+ void deleteByIdInBatch(List<Integer> ids);
+
+ /**
+ * 涓婚敭鏇存柊
+ *
+ * @param unqualifiedRecord 瀹炰綋瀵硅薄
+ */
+ void updateById(UnqualifiedRecord unqualifiedRecord);
+
+ /**
+ * 鎵归噺涓婚敭鏇存柊
+ *
+ * @param unqualifiedRecords 瀹炰綋闆�
+ */
+ void updateByIdInBatch(List<UnqualifiedRecord> unqualifiedRecords);
+
+ /**
+ * 涓婚敭鏌ヨ
+ *
+ * @param id 涓婚敭
+ * @return UnqualifiedRecord
+ */
+ UnqualifiedRecord findById(Integer id);
+
+ /**
+ * 鏉′欢鏌ヨ鍗曟潯璁板綍
+ *
+ * @param unqualifiedRecord 瀹炰綋瀵硅薄
+ * @return UnqualifiedRecord
+ */
+ UnqualifiedRecord findOne(UnqualifiedRecord unqualifiedRecord);
+
+ /**
+ * 鏉′欢鏌ヨ
+ *
+ * @param unqualifiedRecord 瀹炰綋瀵硅薄
+ * @return List<UnqualifiedRecord>
+ */
+ List<UnqualifiedRecord> findList(UnqualifiedRecord unqualifiedRecord);
+
+ /**
+ * 鍒嗛〉鏌ヨ
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<UnqualifiedRecord>
+ */
+ PageData<UnqualifiedRecord> findPage(PageWrap<UnqualifiedRecord> pageWrap);
+
+ /**
+ * 鏉′欢缁熻
+ *
+ * @param unqualifiedRecord 瀹炰綋瀵硅薄
+ * @return long
+ */
+ long count(UnqualifiedRecord unqualifiedRecord);
+}
diff --git a/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
new file mode 100644
index 0000000..d0fa52f
--- /dev/null
+++ b/server/src/main/java/doumeemes/service/business/impl/UnqualifiedRecordServiceImpl.java
@@ -0,0 +1,124 @@
+package doumeemes.service.business.impl;
+
+import doumeemes.core.model.PageData;
+import doumeemes.core.model.PageWrap;
+import doumeemes.core.utils.Utils;
+import doumeemes.dao.business.UnqualifiedRecordMapper;
+import doumeemes.dao.business.model.UnqualifiedRecord;
+import doumeemes.service.business.UnqualifiedRecordService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 宸ュ崟绫�-鎶ュ伐涓嶈壇璁板綍绫诲瀷琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @since 2023/08/16 14:15
+ */
+@Service
+public class UnqualifiedRecordServiceImpl implements UnqualifiedRecordService {
+
+ @Autowired
+ private UnqualifiedRecordMapper unqualifiedRecordMapper;
+
+ @Override
+ public Integer create(UnqualifiedRecord unqualifiedRecord) {
+ unqualifiedRecordMapper.insert(unqualifiedRecord);
+ return unqualifiedRecord.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ unqualifiedRecordMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(UnqualifiedRecord unqualifiedRecord) {
+ UpdateWrapper<UnqualifiedRecord> deleteWrapper = new UpdateWrapper<>(unqualifiedRecord);
+ unqualifiedRecordMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ unqualifiedRecordMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(UnqualifiedRecord unqualifiedRecord) {
+ unqualifiedRecordMapper.updateById(unqualifiedRecord);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<UnqualifiedRecord> unqualifiedRecords) {
+ if (CollectionUtils.isEmpty(unqualifiedRecords)) {
+ return;
+ }
+ for (UnqualifiedRecord unqualifiedRecord: unqualifiedRecords) {
+ this.updateById(unqualifiedRecord);
+ }
+ }
+
+ @Override
+ public UnqualifiedRecord findById(Integer id) {
+ return unqualifiedRecordMapper.selectById(id);
+ }
+
+ @Override
+ public UnqualifiedRecord findOne(UnqualifiedRecord unqualifiedRecord) {
+ QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord);
+ return unqualifiedRecordMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<UnqualifiedRecord> findList(UnqualifiedRecord unqualifiedRecord) {
+ QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord);
+ return unqualifiedRecordMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<UnqualifiedRecord> findPage(PageWrap<UnqualifiedRecord> pageWrap) {
+ IPage<UnqualifiedRecord> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<UnqualifiedRecord> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ queryWrapper.lambda()
+ .eq(pageWrap.getModel().getId() != null, UnqualifiedRecord::getId, pageWrap.getModel().getId())
+ .eq(pageWrap.getModel().getDeleted() != null, UnqualifiedRecord::getDeleted, pageWrap.getModel().getDeleted())
+ .eq(pageWrap.getModel().getCreateUser() != null, UnqualifiedRecord::getCreateUser, pageWrap.getModel().getCreateUser())
+ .ge(pageWrap.getModel().getCreateTime() != null, UnqualifiedRecord::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()))
+ .le(pageWrap.getModel().getCreateTime() != null, UnqualifiedRecord::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()))
+ .eq(pageWrap.getModel().getUpdateUser() != null, UnqualifiedRecord::getUpdateUser, pageWrap.getModel().getUpdateUser())
+ .ge(pageWrap.getModel().getUpdateTime() != null, UnqualifiedRecord::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()))
+ .le(pageWrap.getModel().getUpdateTime() != null, UnqualifiedRecord::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()))
+ .eq(pageWrap.getModel().getRemark() != null, UnqualifiedRecord::getRemark, pageWrap.getModel().getRemark())
+ .eq(pageWrap.getModel().getRootDepartId() != null, UnqualifiedRecord::getRootDepartId, pageWrap.getModel().getRootDepartId())
+ .eq(pageWrap.getModel().getDepartId() != null, UnqualifiedRecord::getDepartId, pageWrap.getModel().getDepartId())
+ .eq(pageWrap.getModel().getWorkorderId() != null, UnqualifiedRecord::getWorkorderId, pageWrap.getModel().getWorkorderId())
+ .eq(pageWrap.getModel().getRecordId() != null, UnqualifiedRecord::getRecordId, pageWrap.getModel().getRecordId())
+ .eq(pageWrap.getModel().getCategoryId() != null, UnqualifiedRecord::getCategoryId, pageWrap.getModel().getCategoryId())
+ .eq(pageWrap.getModel().getUnqualifiedNum() != null, UnqualifiedRecord::getUnqualifiedNum, pageWrap.getModel().getUnqualifiedNum())
+ ;
+ for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+ if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+ queryWrapper.orderByDesc(sortData.getProperty());
+ } else {
+ queryWrapper.orderByAsc(sortData.getProperty());
+ }
+ }
+ return PageData.from(unqualifiedRecordMapper.selectPage(page, queryWrapper));
+ }
+
+ @Override
+ public long count(UnqualifiedRecord unqualifiedRecord) {
+ QueryWrapper<UnqualifiedRecord> wrapper = new QueryWrapper<>(unqualifiedRecord);
+ return unqualifiedRecordMapper.selectCount(wrapper);
+ }
+}
diff --git a/server/src/main/java/doumeemes/service/ext/CategoryExtService.java b/server/src/main/java/doumeemes/service/ext/CategoryExtService.java
index ec98c94..d5f239d 100644
--- a/server/src/main/java/doumeemes/service/ext/CategoryExtService.java
+++ b/server/src/main/java/doumeemes/service/ext/CategoryExtService.java
@@ -33,4 +33,6 @@
CategoryExtListVO getByCategoryId(Integer comid, Integer id);
CategoryExtListVO getByCategoryId(Integer comid, Integer id,List<CategoryExtListVO> allList);
void loadAll();
+
+ List<CategoryExtListVO> findList(QueryCategoryExtDTO queryCategoryExtDTO);
}
diff --git a/server/src/main/java/doumeemes/service/ext/impl/CategoryExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/CategoryExtServiceImpl.java
index b906671..d8ac8f3 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/CategoryExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/CategoryExtServiceImpl.java
@@ -49,6 +49,12 @@
}
@Override
+ public List<CategoryExtListVO> findList(QueryCategoryExtDTO queryCategoryExtDTO) {
+ List<CategoryExtListVO> result = categoryExtMapper.selectList(queryCategoryExtDTO);
+ return result;
+ }
+
+ @Override
public List<CategoryExtListVO> getListByType(String type,Integer rootDepartId,String cateType,String id) {
QueryCategoryExtDTO queryCategoryExtDTO=new QueryCategoryExtDTO();
queryCategoryExtDTO.setDeleted(Constants.ZERO);
diff --git a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
index 4bb8e2c..d283106 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/PlansExtServiceImpl.java
@@ -16,6 +16,7 @@
import doumeemes.core.utils.excel.EasyExcelUtil;
import doumeemes.core.utils.redis.RedisUtil;
import doumeemes.dao.business.PlansMapper;
+import doumeemes.dao.business.UnqualifiedRecordMapper;
import doumeemes.dao.business.WorkorderMapper;
import doumeemes.dao.business.dto.*;
import doumeemes.dao.business.model.*;
@@ -92,6 +93,8 @@
private WStockExtService wStockExtService;
@Autowired
private WorkorderRecordStandardService workorderRecordStandardService;
+ @Autowired
+ private UnqualifiedRecordMapper unqualifiedRecordMapper;
@Override
public PlansExtListVO findById(Integer id){
@@ -702,9 +705,9 @@
if(ulist == null){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鐢熶骇浜哄憳淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒");
}
- if(ulist.size() < param.getProUserList().size()){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝瀛樺湪鐢熶骇浜哄憳淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒");
- }
+// if(ulist.size() < param.getProUserList().size()){
+// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝瀛樺湪鐢熶骇浜哄憳淇℃伅涓嶆纭紝璇峰埛鏂伴〉闈㈤噸璇曪紒");
+// }
List<WorkorderUser> userList = new ArrayList<>();
for(UserDeviceExtListVO uModel : ulist){
WorkorderUser u = new WorkorderUser();
@@ -1587,7 +1590,7 @@
if(Objects.isNull(plans)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌宸ュ簭璁″垝鏁版嵁");
}
- if(!(plans.getStatus().equals(Constants.PLAN_STATUS.create)||plans.getStatus().equals(Constants.PLAN_STATUS.distribute))){
+ if(!(plans.getStatus().equals(Constants.PLAN_STATUS.create)||plans.getStatus().equals(Constants.PLAN_STATUS.publish)||plans.getStatus().equals(Constants.PLAN_STATUS.distribute))){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸ュ簭璁″垝宸叉祦杞紝鏃犳硶鎿嶄綔");
}
if(plans.getPaused().equals(Constants.ONE)){
@@ -1598,7 +1601,7 @@
}
//鏌ヨ宸ュ簭璁″垝宸插垎閰嶆暟閲�
List<Workorder> workorderList = workorderMapper.selectList(new QueryWrapper<Workorder>().eq("PLAN_ID",plans.getId())
- .notIn("STATUS",7,8));
+ .eq("STATUS",Constants.WORKORDER_STATUS.baogong));
//鏈浜у嚭鏁伴噺
BigDecimal num = autoWorkReportDTO.getCreateWorkorderRecordDTO().getQualifiedNum().add(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum());
if(num.compareTo(BigDecimal.ZERO)<=Constants.ZERO){
@@ -1615,7 +1618,7 @@
param.setPlanDate(new Date());
param.setProGroupId(autoWorkReportDTO.getProGroupId());
param.setProUserList(autoWorkReportDTO.getProUserList());
- param.setPlanNum(plans.getNum());
+ param.setPlanNum(num.intValue());
//鐢熸垚宸ュ崟淇℃伅
Workorder workorder = this.distributeDone(user,param,plans.getNum());
//宸ュ崟鎶曟枡璁板綍
@@ -1627,7 +1630,7 @@
}
//宸ュ崟浜у嚭璁板綍
autoWorkReportDTO.getCreateWorkorderRecordDTO().setWorkorderId(workorder.getId());
- workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user);
+ WorkorderRecord workorderRecord = workorderRecordStandardService.createWorkorderRecord(autoWorkReportDTO.getCreateWorkorderRecordDTO(),user);
//宸ュ崟鎶ュ伐
workorderRecordStandardService.comfirmDone(workorder);
//鏇存柊宸ュ崟鐘舵��
@@ -1639,8 +1642,35 @@
}
}
plansExtMapper.updateById(plans);
-
-
+ //瀛樺偍鎶ュ伐涓嶈壇椤规暟鎹�
+ if(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum().compareTo(BigDecimal.ZERO)<=Constants.ZERO){
+ if(!Objects.isNull(autoWorkReportDTO.getCreateUnqualifiedDTOList())&&autoWorkReportDTO.getCreateUnqualifiedDTOList().size()>Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓嶈壇椤归敊璇細璇锋鏌ヤ笉鑹」鏁版嵁");
+ }
+ }else{
+ List<CreateUnqualifiedDTO> createUnqualifiedDTOList = autoWorkReportDTO.getCreateUnqualifiedDTOList();
+ BigDecimal unqualified = createUnqualifiedDTOList.stream().map(s -> s.getUnQualifiedNum()).reduce(BigDecimal.ZERO, BigDecimal::add);
+ if(unqualified.compareTo(autoWorkReportDTO.getCreateWorkorderRecordDTO().getUnQualifiedNum())!=Constants.ZERO){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓嶈壇椤归敊璇細璇锋鏌ヤ笉鑹」鏁版嵁");
+ }
+ for (CreateUnqualifiedDTO createUnqualifiedDTO:createUnqualifiedDTOList) {
+ if(createUnqualifiedDTO.getUnQualifiedNum().compareTo(BigDecimal.ZERO)==Constants.ZERO
+ ||Objects.isNull(createUnqualifiedDTO.getCategoryId())){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"涓嶈壇椤归敊璇細璇锋鏌ヤ笉鑹」鏁版嵁");
+ }
+ UnqualifiedRecord unqualifiedRecord = new UnqualifiedRecord();
+ unqualifiedRecord.setDeleted(Constants.ZERO);
+ unqualifiedRecord.setCreateUser(user.getId());
+ unqualifiedRecord.setCreateTime(new Date());
+ unqualifiedRecord.setRootDepartId(plans.getRootDepartId());
+ unqualifiedRecord.setDepartId(plans.getDepartId());
+ unqualifiedRecord.setWorkorderId(workorder.getId());
+ unqualifiedRecord.setRecordId(workorderRecord.getId());
+ unqualifiedRecord.setCategoryId(createUnqualifiedDTO.getCategoryId());
+ unqualifiedRecord.setUnqualifiedNum(createUnqualifiedDTO.getUnQualifiedNum());
+ unqualifiedRecordMapper.insert(unqualifiedRecord);
+ }
+ }
}
diff --git a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java
index 17b1c9d..596283d 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordStandardServiceImpl.java
@@ -794,6 +794,126 @@
+// private void dealAppliancePro(Workorder mp
+// , LoginUserInfo user
+// , List<WorkorderRecordExtListVO> allRecordList
+// , List<Appliances> updateApplianceList
+// , List<Appliances> updateApplianceProList
+// , List<WOutboundDetail> outboundDetailList
+// , List<WStock> stockList) {
+// WOutbound outbound = new WOutbound();
+// outbound.setDeleted(Constants.ZERO);
+// outbound.setCreateTime(DateUtil.getCurrentDate());
+// outbound.setDealDate(outbound.getCreateTime());
+// outbound.setValidDate(outbound.getCreateTime());
+// outbound.setCreateUser(user.getId());
+// outbound.setRootDepartId(mp.getRootDepartId());
+// outbound.setDepartId(mp.getDepartId());
+// outbound.setStatus(Constants.WOUTBOUND_STATUS.dealed);
+// outbound.setType(Constants.WOUTBOUND_TYPE.in);
+// //2022骞�7鏈�1鏃�14:42:41 鍔犲叆鍗曟嵁绫诲埆
+// outbound.setBillType(Constants.WOUTBOUND_BILLTYPE.workerOrderIn);
+// outbound.setCode(wOutboundService.getNextInCode(user.getCompany().getId()));
+// outbound.setOrigin(Constants.ONE);
+// outbound.setOriginType(Constants.WOUTBOUND_ORIGIN_TYPE.produce);
+// outbound.setOriginCode(mp.getCode());
+// outbound.setOriginId(mp.getId());
+// outbound.setPlanDate(DateUtil.getCurrentDate());
+// outbound.setProcedureId(mp.getProcedureId());
+// outbound.setUserId(user.getId());
+// outbound.setWarehouseId(mp.getFinishWarehouseId());
+// wOutboundService.create(outbound);
+//
+// List<WOutboundDetail> detailList = new ArrayList<>();
+// List<WOutboundRecord> recordList = new ArrayList<>();
+// for(WorkorderRecordExtListVO tModel :allRecordList){
+// if(Constants.equalsInteger(tModel.getType(),Constants.WORKORDER_RECORD_TYPE.produce)){
+// if(tModel.getNum().compareTo(BigDecimal.ZERO)<=Constants.ZERO){
+// continue;
+// }
+// //濡傛灉鏄骇鍑�
+// mp.setHasProduceNum(Constants.formatBigdecimal(tModel.getNum()).intValue()+Constants.formatIntegerNum(mp.getHasProduceNum()));
+//
+// //鐗╂枡+鎵规+宸ュ簭+璐ㄩ噺灞炴�у幓閲�
+// WOutboundDetail detail =getWoutbondDetailByList(tModel,detailList);
+// if(detail!=null){
+// detail.setNum(Constants.formatBigdecimal(detail.getNum()).add(tModel.getNum()));
+// }else{
+// detail = new WOutboundDetail();
+// detail.setDeleted(Constants.ZERO);
+// detail.setCreateTime(DateUtil.getCurrentDate());
+// detail.setCreateUser(user.getId());
+// detail.setOutboundId(outbound.getId());
+// detail.setRootDepartId(outbound.getRootDepartId());
+// detail.setWarehouseId(outbound.getWarehouseId());
+// detail.setLocationId(mp.getFinishWarehouseLocationId());
+// detail.setNum(tModel.getNum());
+// detail.setStatus(Constants.ONE);
+// detail.setDoneNum(tModel.getNum());
+// detail.setDoneDate(new Date());
+// detail.setUnitId(tModel.getUnitId());
+// detail.setBatch(tModel.getMaterialBatch());
+// detail.setProcedureId(tModel.getProcedureId());
+// detail.setMaterialId(tModel.getMaterialId());
+// detail.setQualityType(tModel.getDoneType());
+// detail.setWOutboundRecordInList(new ArrayList<>());
+// detailList.add(detail);
+// }
+//
+// WOutboundRecord record = new WOutboundRecord();
+// record.setDeleted(Constants.ZERO);
+// record.setCreateTime(DateUtil.getCurrentDate());
+// record.setCreateUser(user.getId());
+// record.setAppliancesId(tModel.getAppliancesId());
+// record.setBatch(detail.getBatch());
+// record.setRootDepartId(mp.getRootDepartId());
+// record.setNum(tModel.getNum());
+// record.setOutboundId(detail.getOutboundId());
+// record.setUnitId(detail.getUnitId());
+// record.setWarehouseId(detail.getWarehouseId());
+// record.setMaterialId(detail.getMaterialId());
+// record.setProcedureId(detail.getProcedureId());
+// record.setLocationId(detail.getLocationId());
+// record.setQualityType(detail.getQualityType());
+// detail.getWOutboundRecordInList().add(record);
+//
+// WStock stock = getFromStockList(mp.getFinishWarehouseLocationId(),detail.getWarehouseId(),detail.getMaterialId(),detail.getBatch(),
+// tModel.getProcedureId(),tModel.getDoneType(),stockList);
+// if(stock!=null){
+// //濡傛灉搴撳瓨瀵硅薄宸插瓨鍦紝鐩存帴澧炲姞瀵瑰簲鐨勫簱瀛橀噺
+// stock.setNum(Constants.formatBigdecimal(stock.getNum()).add(Constants.formatBigdecimal(tModel.getNum())));
+// }else{
+// stock = new WStock();
+// stock.setMaterialId(detail.getMaterialId());
+// stock.setBatch(detail.getBatch());
+// stock.setWarehouseId(outbound.getWarehouseId());
+// stock.setLocationId(mp.getFinishWarehouseLocationId());
+// stock.setUnitId(detail.getUnitId());
+// stock.setNum(Constants.formatBigdecimal(tModel.getNum()));
+// stock.setProcedureId(tModel.getProcedureId());
+// stock.setQualityType(tModel.getDoneType());
+// //寰呮洿鏂板簱瀛樹俊鎭�
+// stockList.add(stock);
+// }
+// }
+// }
+// for(WOutboundDetail detail : detailList){
+// wOutboundDetailExtMapper.insert(detail);
+// //璁板綍搴撳瓨鍙樺姩璁板綍
+// wStockRecordExtService.saveRecord(Constants.ONE,detail.getId(),user);
+// if(detail.getWOutboundRecordInList()!=null){
+// for(WOutboundRecord r : detail.getWOutboundRecordInList()){
+// r.setDetailId(detail.getId());
+// wOutboundRecordExtMapper.insert(r);
+// }
+// }
+// }
+// if(Constants.formatIntegerNum(mp.getHasProduceNum()) >Constants.formatIntegerNum(mp.getPlanNum())){
+// throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇ュ伐鍗曠殑浜у嚭鏁伴噺涓嶈兘澶т簬宸ュ崟璁″垝鏁伴噺锛�");
+// }
+// }
+
+
private void dealAppliancePro(Workorder mp
, LoginUserInfo user
, List<WorkorderRecordExtListVO> allRecordList
@@ -833,78 +953,10 @@
}
//濡傛灉鏄骇鍑�
mp.setHasProduceNum(Constants.formatBigdecimal(tModel.getNum()).intValue()+Constants.formatIntegerNum(mp.getHasProduceNum()));
-// if(tModel.getDoneType() == null){
-// throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝宸ヨ鍣ㄥ叿銆�"+tModel.getAmodel().getCode()+"銆戜骇鍑鸿川閲忓睘鎬т负绌猴紝鏃犳硶鎶ュ伐锛�");
-// }
-// if(!Constants.equalsInteger(tModel.getDoneType(),Constants.ZERO)){
-// //濡傛灉涓嶈壇锛岀疮璁″伐鍗曠殑涓嶈壇浜у嚭
-// mp.setUnqualifiedNum(Constants.formatIntegerNum(mp.getUnqualifiedNum())+(Constants.formatBigdecimal(tModel.getNum()).intValue()));
-// }else{
-// //濡傛灉鏄悎鏍硷紝绱宸ュ崟鐨勫悎鏍兼暟閲�
-// mp.setQualifiedNum(Constants.formatIntegerNum(mp.getQualifiedNum())+(Constants.formatBigdecimal(tModel.getNum()).intValue()));
-// }
-
- //鐗╂枡+鎵规+宸ュ簭+璐ㄩ噺灞炴�у幓閲�
- WOutboundDetail detail =getWoutbondDetailByList(tModel,detailList);
- if(detail!=null){
- detail.setNum(Constants.formatBigdecimal(detail.getNum()).add(tModel.getNum()));
- }else{
- detail = new WOutboundDetail();
- detail.setDeleted(Constants.ZERO);
- detail.setCreateTime(DateUtil.getCurrentDate());
- detail.setCreateUser(user.getId());
- detail.setOutboundId(outbound.getId());
- detail.setRootDepartId(outbound.getRootDepartId());
- detail.setWarehouseId(outbound.getWarehouseId());
- detail.setLocationId(mp.getFinishWarehouseLocationId());
- detail.setNum(tModel.getNum());
- detail.setStatus(Constants.ONE);
- detail.setDoneNum(tModel.getNum());
- detail.setDoneDate(new Date());
- detail.setUnitId(tModel.getUnitId());
- detail.setBatch(tModel.getMaterialBatch());
- detail.setProcedureId(tModel.getProcedureId());
- detail.setMaterialId(tModel.getMaterialId());
- detail.setQualityType(tModel.getDoneType());
- detail.setWOutboundRecordInList(new ArrayList<>());
- detailList.add(detail);
- }
-
- WOutboundRecord record = new WOutboundRecord();
- record.setDeleted(Constants.ZERO);
- record.setCreateTime(DateUtil.getCurrentDate());
- record.setCreateUser(user.getId());
- record.setAppliancesId(tModel.getAppliancesId());
- record.setBatch(detail.getBatch());
- record.setRootDepartId(mp.getRootDepartId());
- record.setNum(tModel.getNum());
- record.setOutboundId(detail.getOutboundId());
- record.setUnitId(detail.getUnitId());
- record.setWarehouseId(detail.getWarehouseId());
- record.setMaterialId(detail.getMaterialId());
- record.setProcedureId(detail.getProcedureId());
- record.setLocationId(detail.getLocationId());
- record.setQualityType(detail.getQualityType());
- detail.getWOutboundRecordInList().add(record);
-
- WStock stock = getFromStockList(mp.getFinishWarehouseLocationId(),detail.getWarehouseId(),detail.getMaterialId(),detail.getBatch(),
- tModel.getProcedureId(),tModel.getDoneType(),stockList);
- if(stock!=null){
- //濡傛灉搴撳瓨瀵硅薄宸插瓨鍦紝鐩存帴澧炲姞瀵瑰簲鐨勫簱瀛橀噺
- stock.setNum(Constants.formatBigdecimal(stock.getNum()).add(Constants.formatBigdecimal(tModel.getNum())));
- }else{
- stock = new WStock();
- stock.setMaterialId(detail.getMaterialId());
- stock.setBatch(detail.getBatch());
- stock.setWarehouseId(outbound.getWarehouseId());
- stock.setLocationId(mp.getFinishWarehouseLocationId());
- stock.setUnitId(detail.getUnitId());
- stock.setNum(Constants.formatBigdecimal(tModel.getNum()));
- stock.setProcedureId(tModel.getProcedureId());
- stock.setQualityType(tModel.getDoneType());
- //寰呮洿鏂板簱瀛樹俊鎭�
- stockList.add(stock);
- }
+ //浜у嚭鍚堟牸
+ this.createOutDetail(user,outbound,mp,tModel,Constants.ZERO,detailList,stockList);
+ //浜у嚭涓嶈壇
+ this.createOutDetail(user,outbound,mp,tModel,Constants.ONE,detailList,stockList);
}
}
for(WOutboundDetail detail : detailList){
@@ -922,6 +974,68 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝璇ュ伐鍗曠殑浜у嚭鏁伴噺涓嶈兘澶т簬宸ュ崟璁″垝鏁伴噺锛�");
}
}
+
+
+ public void createOutDetail(LoginUserInfo user,WOutbound outbound,Workorder mp,WorkorderRecordExtListVO tModel,Integer doneType
+ ,List<WOutboundDetail> detailList,List<WStock> stockList ){
+ //鐗╂枡+鎵规+宸ュ簭+璐ㄩ噺灞炴�у幓閲�
+ WOutboundDetail detail = new WOutboundDetail();
+ detail.setDeleted(Constants.ZERO);
+ detail.setCreateTime(DateUtil.getCurrentDate());
+ detail.setCreateUser(user.getId());
+ detail.setOutboundId(outbound.getId());
+ detail.setRootDepartId(outbound.getRootDepartId());
+ detail.setWarehouseId(outbound.getWarehouseId());
+ detail.setLocationId(mp.getFinishWarehouseLocationId());
+ detail.setNum(BigDecimal.valueOf(doneType.equals(Constants.ZERO)?tModel.getQualifiedNum():tModel.getUnqualifiedNum()));
+ detail.setStatus(Constants.ONE);
+ detail.setDoneNum(detail.getNum());
+ detail.setDoneDate(new Date());
+ detail.setUnitId(tModel.getUnitId());
+ detail.setBatch(tModel.getMaterialBatch());
+ detail.setProcedureId(tModel.getProcedureId());
+ detail.setMaterialId(tModel.getMaterialId());
+ detail.setQualityType(doneType);
+ detail.setWOutboundRecordInList(new ArrayList<>());
+ detailList.add(detail);
+
+ WOutboundRecord record = new WOutboundRecord();
+ record.setDeleted(Constants.ZERO);
+ record.setCreateTime(DateUtil.getCurrentDate());
+ record.setCreateUser(user.getId());
+ record.setAppliancesId(tModel.getAppliancesId());
+ record.setBatch(detail.getBatch());
+ record.setRootDepartId(mp.getRootDepartId());
+ record.setNum(tModel.getNum());
+ record.setOutboundId(detail.getOutboundId());
+ record.setUnitId(detail.getUnitId());
+ record.setWarehouseId(detail.getWarehouseId());
+ record.setMaterialId(detail.getMaterialId());
+ record.setProcedureId(detail.getProcedureId());
+ record.setLocationId(detail.getLocationId());
+ record.setQualityType(detail.getQualityType());
+ detail.getWOutboundRecordInList().add(record);
+
+ WStock stock = getFromStockList(mp.getFinishWarehouseLocationId(),detail.getWarehouseId(),detail.getMaterialId(),detail.getBatch(),
+ tModel.getProcedureId(),tModel.getDoneType(),stockList);
+ if(stock!=null){
+ //濡傛灉搴撳瓨瀵硅薄宸插瓨鍦紝鐩存帴澧炲姞瀵瑰簲鐨勫簱瀛橀噺
+ stock.setNum(Constants.formatBigdecimal(stock.getNum()).add(Constants.formatBigdecimal(tModel.getNum())));
+ }else{
+ stock = new WStock();
+ stock.setMaterialId(detail.getMaterialId());
+ stock.setBatch(detail.getBatch());
+ stock.setWarehouseId(outbound.getWarehouseId());
+ stock.setLocationId(mp.getFinishWarehouseLocationId());
+ stock.setUnitId(detail.getUnitId());
+ stock.setNum(Constants.formatBigdecimal(tModel.getNum()));
+ stock.setProcedureId(tModel.getProcedureId());
+ stock.setQualityType(tModel.getDoneType());
+ //寰呮洿鏂板簱瀛樹俊鎭�
+ stockList.add(stock);
+ }
+ }
+
private WStock initMaterialNum(Integer materialId, BigDecimal num) {
WStock s = new WStock();
@@ -1247,16 +1361,14 @@
workorderRecord.setSalaryPrice(salaryParam.getSalary());
workorderRecord.setSalaryType(salaryParam.getType());
workorderRecord.setSalaryUnqualified(salaryParam.getUnqualified());
-
//璁′欢宸ヨ祫
if(salaryParam.getType().equals(Constants.ZERO)){
workorderRecord.setSalaryNum(salaryParam.getNum());
- workorderRecord.setSalary(salaryParam.getSalary().multiply(salaryParam.getUnqualified()==Constants.ZERO?num:createWorkorderRecordDTO.getUnQualifiedNum()));
+ workorderRecord.setSalary(salaryParam.getSalary().multiply(salaryParam.getUnqualified()==Constants.ONE?num:createWorkorderRecordDTO.getQualifiedNum()));
}else{
workorderRecord.setDuration(createWorkorderRecordDTO.getDuration());
workorderRecord.setSalary(BigDecimal.valueOf(createWorkorderRecordDTO.getDuration()).multiply(salaryParam.getSalary()).divide(new BigDecimal(3600)));
}
-
//鎻掑叆宸ュ崟鎿嶄綔璁板綍锛屽苟涓斿垽鏂槸鍚︽洿鏀逛负宸ュ崟鐨勭姸鎬併�愮敓浜т腑銆�
updateOrderInfo(loginUserInfo,workorder,Constants.WORKORDER_HISTORY_STATUS.produce);
workorderRecordExtMapper.insert(workorderRecord);
diff --git a/server/src/main/resources/mappers/PlansExtMapper.xml b/server/src/main/resources/mappers/PlansExtMapper.xml
index ddff456..3556f9a 100644
--- a/server/src/main/resources/mappers/PlansExtMapper.xml
+++ b/server/src/main/resources/mappers/PlansExtMapper.xml
@@ -370,7 +370,6 @@
w.START_DATE as workPlanStartDate , w.PLAN_DATE as workPlanEndDate,
w.`PLAN_DATE` as workPlanPlanDate,
ifnull((select sum(worder.PLAN_NUM) from workorder worder where worder.PLAN_ID = a.id and worder.STATUS not in (7,8) ),0) as produceNum
-
FROM `plans` `a`
LEFT JOIN `department` `dmodel` ON a.DEPART_ID=dmodel.ID
LEFT JOIN `material_distribute` `mdmodel` ON a.MATERIAL_ID=mdmodel.ID
diff --git a/server/src/main/resources/mappers/UserDeviceExtMapper.xml b/server/src/main/resources/mappers/UserDeviceExtMapper.xml
index 7259c9f..6b93738 100644
--- a/server/src/main/resources/mappers/UserDeviceExtMapper.xml
+++ b/server/src/main/resources/mappers/UserDeviceExtMapper.xml
@@ -201,7 +201,7 @@
AND `umodel`.`ROOT_DEPART_ID` = #{umodelRootDepartId}
</if>
<if test="umodelName != null and umodelName != ''">
- AND `umodel`.`NAME` = #{umodelName}
+ AND `umodel`.`NAME` like concat('%', #{umodelName} , '%')
</if>
<if test="umodelPhone != null and umodelPhone != ''">
AND `umodel`.`PHONE` = #{umodelPhone}
--
Gitblit v1.9.3