diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java index aca0f5e1a..680f81b76 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/RemoteOpenService.java @@ -5,6 +5,9 @@ import com.op.common.core.web.domain.AjaxResult; import com.op.system.api.factory.RemoteOpenFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Map; /** * Open接口服务 @@ -15,6 +18,6 @@ import org.springframework.web.bind.annotation.PostMapping; public interface RemoteOpenService { /**提交ZL0010-来料检验不合格控制流程**/ @PostMapping("/openInterface/OAInspection") - public AjaxResult OAInspection(); + public AjaxResult OAInspection(@RequestBody(required = false) Map paramMap); } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/SysUser.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/SysUser.java index 56102a91c..3e84e5dee 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/domain/SysUser.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/SysUser.java @@ -100,6 +100,17 @@ public class SysUser extends BaseEntity { } + //新增 微信账号 + private String wxId; + + public String getWxId() { + return wxId; + } + + public void setWxId(String wxId) { + this.wxId = wxId; + } + public String getUserCode() { return userCode; } diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartSeriesDTO.java b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartSeriesDTO.java new file mode 100644 index 000000000..24e016d77 --- /dev/null +++ b/op-api/op-api-system/src/main/java/com/op/system/api/domain/quality/ChartSeriesDTO.java @@ -0,0 +1,31 @@ +package com.op.system.api.domain.quality; + +import java.util.List; + +/** + * + *echart 图标实体 + * @author zxl + * @date 2023-07-18 + */ +public class ChartSeriesDTO { + + private List yAxisData; + private List series; + + public List getyAxisData() { + return yAxisData; + } + + public void setyAxisData(List yAxisData) { + this.yAxisData = yAxisData; + } + + public List getSeries() { + return series; + } + + public void setSeries(List series) { + this.series = series; + } +} diff --git a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java index 6b19b3895..b3d5bc637 100644 --- a/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java +++ b/op-api/op-api-system/src/main/java/com/op/system/api/factory/RemoteOpenFallbackFactory.java @@ -7,6 +7,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.openfeign.FallbackFactory; import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.Map; @Component public class RemoteOpenFallbackFactory implements FallbackFactory { @@ -16,7 +19,7 @@ public class RemoteOpenFallbackFactory implements FallbackFactory paramMap) { return AjaxResult.error("提交ZL0010-来料检验不合格控制流程失败"+throwable.getMessage()); } }; diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java index 36539536c..11d5ced09 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/EquOrderServiceImpl.java @@ -352,7 +352,13 @@ public class EquOrderServiceImpl implements IEquOrderService { // 费用 BigDecimal sparePartsCost = equSpareApplyMapper.getSparePartsCost(equOrder.getOrderCode()); BigDecimal orderCost = equOrder.getOrderCost(); - equOrder.setOrderCost(sparePartsCost.add(orderCost)); + if (orderCost!=null) { + if (sparePartsCost==null) { + equOrder.setOrderCost(orderCost); + }else { + equOrder.setOrderCost(sparePartsCost.add(orderCost)); + } + } // 保养图片 if (StringUtils.isNotEmpty(equOrder.getPicturePath())) { diff --git a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml index 0a0ab9fbc..cefc46014 100644 --- a/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml +++ b/op-modules/op-device/src/main/resources/mapper/device/EquOrderMapper.xml @@ -146,7 +146,7 @@ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java index 236ea38f1..4113023b9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckProjectController.java @@ -1,7 +1,11 @@ package com.op.quality.controller; +import java.io.IOException; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.op.common.security.utils.SecurityUtils; +import com.op.system.api.domain.SysUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -20,6 +24,7 @@ import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.web.page.TableDataInfo; +import org.springframework.web.multipart.MultipartFile; /** * 检验项目维护Controller @@ -62,6 +67,28 @@ public class QcCheckProjectController extends BaseController { util.exportExcel(response, list, "检验项目维护数据"); } + /** + * 导入检验项目维护列表 + */ + @RequiresPermissions("quality:project:import") + @Log(title = "检验项目维护", businessType = BusinessType.EXPORT) + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(QcCheckProject.class); + List projectList = util.importExcel(file.getInputStream()); + String operName = SecurityUtils.getUsername(); + String message = qcCheckProjectService.importCheckProject(projectList, updateSupport, operName); + return success(message); + } + /** + * 检验项目导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) throws IOException { + ExcelUtil util = new ExcelUtil(QcCheckProject.class); + util.importTemplateExcel(response, "检测项目"); + } + /** * 获取检验项目维护详细信息 */ diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java index d6adfee20..cdf0aa792 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTaskIncomeController.java @@ -2,13 +2,19 @@ package com.op.quality.controller; import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.alibaba.fastjson2.JSONObject; +import com.op.common.core.domain.R; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.bean.BeanUtils; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.*; +import com.op.system.api.RemoteOpenService; import com.op.system.api.domain.SysRole; import com.op.system.api.domain.SysUser; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; @@ -30,6 +36,8 @@ import com.op.common.core.web.controller.BaseController; import com.op.common.core.web.domain.AjaxResult; import com.op.common.core.utils.poi.ExcelUtil; import com.op.common.core.web.page.TableDataInfo; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; /** * 来料检验Controller @@ -114,6 +122,9 @@ public class QcCheckTaskIncomeController extends BaseController { @Log(title = "来料检验", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + qcCheckTaskIncome.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(qcCheckTaskIncome); if(r>0){ return toAjax(r); @@ -123,7 +134,7 @@ public class QcCheckTaskIncomeController extends BaseController { @PostMapping("/createIncomeTask") public AjaxResult createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome0) { QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome(); - BeanUtils.copyProperties(qcCheckTaskIncome,qcCheckTaskIncome0); + BeanUtils.copyProperties(qcCheckTaskIncome0,qcCheckTaskIncome); int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(qcCheckTaskIncome); if(r>0){ return toAjax(r); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java index bab927605..d29005144 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcCheckTypeProjectController.java @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse; import com.op.quality.domain.QcCheckProject; import com.op.quality.domain.QcMaterialGroup; +import com.op.quality.domain.QcProjectType; import com.op.quality.service.IQcMaterialGroupService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -116,5 +117,11 @@ public class QcCheckTypeProjectController extends BaseController { public AjaxResult submitProjects(@RequestBody List typeProjects) { return toAjax(qcCheckTypeProjectService.submitProjects(typeProjects)); } - + //获取方案下拉 + @GetMapping("/getProjectOptions") + public List getProjectOptions(QcCheckProject qcCheckProject) { + startPage(); + List list = qcCheckTypeProjectService.getProjectOptions(qcCheckProject); + return list; + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProCheckController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProCheckController.java index ad10e2bdc..95e700874 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProCheckController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProCheckController.java @@ -9,6 +9,8 @@ import com.op.common.log.annotation.Log; import com.op.common.log.enums.BusinessType; import com.op.quality.domain.QcProCheck; import com.op.quality.service.QcProCheckService; +import com.op.system.api.domain.quality.ChartDTO; +import com.op.system.api.domain.quality.ChartSeriesDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -30,7 +32,13 @@ public class QcProCheckController extends BaseController { @GetMapping("/list") public List list(QcProCheck qcProCheck) { List qcProChecks = qcProCheckService.selectQcCheckList(qcProCheck); - return qcProCheckService.selectQcCheckList(qcProCheck); + return qcProChecks; + } + + @GetMapping("/getHfChartData") + public ChartSeriesDTO getHfChartData(QcProCheck qcProCheck) { + ChartSeriesDTO dto = qcProCheckService.getHfChartData(qcProCheck); + return dto; } @Log(title = "白坯合格统计", businessType = BusinessType.EXPORT) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProjectTypeController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProjectTypeController.java new file mode 100644 index 000000000..9dea39b14 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcProjectTypeController.java @@ -0,0 +1,97 @@ +package com.op.quality.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.quality.domain.QcProjectType; +import com.op.quality.service.IQcProjectTypeService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 检验方案维护Controller + * + * @author Open Platform + * @date 2023-12-27 + */ +@RestController +@RequestMapping("/qcProjectType") +public class QcProjectTypeController extends BaseController { + @Autowired + private IQcProjectTypeService qcProjectTypeService; + + /** + * 查询检验方案维护列表 + */ + @RequiresPermissions("quality:qcProjectType:list") + @GetMapping("/list") + public TableDataInfo list(QcProjectType qcProjectType) { + startPage(); + List list = qcProjectTypeService.selectQcProjectTypeList(qcProjectType); + return getDataTable(list); + } + + /** + * 导出检验方案维护列表 + */ + @RequiresPermissions("quality:qcProjectType:export") + @Log(title = "检验方案维护", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcProjectType qcProjectType) { + List list = qcProjectTypeService.selectQcProjectTypeList(qcProjectType); + ExcelUtil util = new ExcelUtil(QcProjectType.class); + util.exportExcel(response, list, "检验方案维护数据"); + } + + /** + * 获取检验方案维护详细信息 + */ + @RequiresPermissions("quality:qcProjectType:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { + return success(qcProjectTypeService.selectQcProjectTypeById(id)); + } + + /** + * 新增检验方案维护 + */ + @RequiresPermissions("quality:qcProjectType:add") + @Log(title = "检验方案维护", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcProjectType qcProjectType) { + return toAjax(qcProjectTypeService.insertQcProjectType(qcProjectType)); + } + + /** + * 修改检验方案维护 + */ + @RequiresPermissions("quality:qcProjectType:edit") + @Log(title = "检验方案维护", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcProjectType qcProjectType) { + return toAjax(qcProjectTypeService.updateQcProjectType(qcProjectType)); + } + + /** + * 删除检验方案维护 + */ + @RequiresPermissions("quality:qcProjectType:remove") + @Log(title = "检验方案维护", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { + return toAjax(qcProjectTypeService.deleteQcProjectTypeByIds(ids)); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcSampleRuleController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcSampleRuleController.java new file mode 100644 index 000000000..073de6521 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcSampleRuleController.java @@ -0,0 +1,97 @@ +package com.op.quality.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.op.common.log.annotation.Log; +import com.op.common.log.enums.BusinessType; +import com.op.common.security.annotation.RequiresPermissions; +import com.op.quality.domain.QcSampleRule; +import com.op.quality.service.IQcSampleRuleService; +import com.op.common.core.web.controller.BaseController; +import com.op.common.core.web.domain.AjaxResult; +import com.op.common.core.utils.poi.ExcelUtil; +import com.op.common.core.web.page.TableDataInfo; + +/** + * 来料抽样规则Controller + * + * @author Open Platform + * @date 2023-12-28 + */ +@RestController +@RequestMapping("/qcSampleRule") +public class QcSampleRuleController extends BaseController { + @Autowired + private IQcSampleRuleService qcSampleRuleService; + + /** + * 查询来料抽样规则列表 + */ + @RequiresPermissions("quality:qcSampleRule:list") + @GetMapping("/list") + public TableDataInfo list(QcSampleRule qcSampleRule) { + startPage(); + List list = qcSampleRuleService.selectQcSampleRuleList(qcSampleRule); + return getDataTable(list); + } + + /** + * 导出来料抽样规则列表 + */ + @RequiresPermissions("quality:qcSampleRule:export") + @Log(title = "来料抽样规则", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, QcSampleRule qcSampleRule) { + List list = qcSampleRuleService.selectQcSampleRuleList(qcSampleRule); + ExcelUtil util = new ExcelUtil(QcSampleRule.class); + util.exportExcel(response, list, "来料抽样规则数据"); + } + + /** + * 获取来料抽样规则详细信息 + */ + @RequiresPermissions("quality:qcSampleRule:query") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") String id) { + return success(qcSampleRuleService.selectQcSampleRuleById(id)); + } + + /** + * 新增来料抽样规则 + */ + @RequiresPermissions("quality:qcSampleRule:add") + @Log(title = "来料抽样规则", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody QcSampleRule qcSampleRule) { + return toAjax(qcSampleRuleService.insertQcSampleRule(qcSampleRule)); + } + + /** + * 修改来料抽样规则 + */ + @RequiresPermissions("quality:qcSampleRule:edit") + @Log(title = "来料抽样规则", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody QcSampleRule qcSampleRule) { + return toAjax(qcSampleRuleService.updateQcSampleRule(qcSampleRule)); + } + + /** + * 删除来料抽样规则 + */ + @RequiresPermissions("quality:qcSampleRule:remove") + @Log(title = "来料抽样规则", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { + return toAjax(qcSampleRuleService.deleteQcSampleRuleByIds(ids)); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java index 473287128..bc828858c 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcStaticTableController.java @@ -226,4 +226,29 @@ public class QcStaticTableController extends BaseController { public List getWorkcenterList(FactoryDto factoryDto) { return qcStaticTableService.getWorkcenterList(factoryDto); } + + /** + * 巡检记录报表 + */ + @RequiresPermissions("quality:qcTableXJ:list") + @GetMapping("/getXJCheckTableList") + public TableDataInfo getXJCheckTableList(QcStaticTable qcStaticTable) { + + //默认时间范围T 00:00:00~T+1 00:00:00 + if(StringUtils.isEmpty(qcStaticTable.getYearMonth())){ + LocalDate date = LocalDate.now(); + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM"); + String ymStr = dtf.format(date); + qcStaticTable.setYearMonth(ymStr);//end + } + startPage(); + List list = qcStaticTableService.getXJCheckTableList(qcStaticTable); + return getDataTable(list); + } + + @GetMapping("/getXJCheckTableDetail") + public List getXJCheckTableDetail(QcStaticTable qcStaticTable) { + List list = qcStaticTableService.getXJCheckTableDetail(qcStaticTable); + return list; + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java index 141dea068..6653a26a8 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckProject.java @@ -52,16 +52,26 @@ public class QcCheckProject extends BaseEntity { /** 工厂编码 */ @Excel(name = "工厂编码") private String factoryCode; - + @Excel(name = "抽样方案") private String samplePlan; - + @Excel(name = "合格判定") private String judge; - + @Excel(name = "缺陷等级") private String defectLevel; + @Excel(name = "检验方案类型") + private String projectType; private String materialCode; private String typeCode; private String groupId; + public String getProjectType() { + return projectType; + } + + public void setProjectType(String projectType) { + this.projectType = projectType; + } + public String getMaterialCode() { return materialCode; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java index c52725762..6bf0ff3f5 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckReportIncome.java @@ -115,6 +115,9 @@ public class QcCheckReportIncome extends BaseEntity { /** 删除标识1删除0正常 */ private String delFlag; + @Excel(name = "抽样数量") + private BigDecimal sampleQuality; + private String incomeTimeStart; private String incomeTimeEnd; private String checkTimeStart; @@ -122,6 +125,13 @@ public class QcCheckReportIncome extends BaseEntity { private String typeCode;//大类 private String checkType;//小类 + public BigDecimal getSampleQuality() { + return sampleQuality; + } + + public void setSampleQuality(BigDecimal sampleQuality) { + this.sampleQuality = sampleQuality; + } public String getCheckType() { return checkType; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProCheck.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProCheck.java index 9458ce000..d45b3ba0f 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProCheck.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProCheck.java @@ -83,6 +83,43 @@ public class QcProCheck extends BaseEntity { @Excel(name = "合格率") private String passRate; + private String chartType; + private String quality; + private String okQuality; + private String shiftId; + + public String getShiftId() { + return shiftId; + } + + public void setShiftId(String shiftId) { + this.shiftId = shiftId; + } + + public String getOkQuality() { + return okQuality; + } + + public void setOkQuality(String okQuality) { + this.okQuality = okQuality; + } + + public String getQuality() { + return quality; + } + + public void setQuality(String quality) { + this.quality = quality; + } + + public String getChartType() { + return chartType; + } + + public void setChartType(String chartType) { + this.chartType = chartType; + } + public String getAcceptanceNumber() { return acceptanceNumber; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProjectType.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProjectType.java new file mode 100644 index 000000000..5b63d8f17 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcProjectType.java @@ -0,0 +1,97 @@ +package com.op.quality.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 检验方案维护对象 qc_project_type + * + * @author Open Platform + * @date 2023-12-27 + */ +public class QcProjectType extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + + /** 检测项方案编号 */ + @Excel(name = "检测项方案编号") + private String projectTypeCode; + + /** 检测项方案名称 */ + @Excel(name = "检测项方案名称") + private String projectTypeName; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 删除标识1删除0正常 */ + private String delFlag; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + public void setProjectTypeCode(String projectTypeCode) { + this.projectTypeCode = projectTypeCode; + } + + public String getProjectTypeCode() { + return projectTypeCode; + } + public void setProjectTypeName(String projectTypeName) { + this.projectTypeName = projectTypeName; + } + + public String getProjectTypeName() { + return projectTypeName; + } + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectTypeCode", getProjectTypeCode()) + .append("projectTypeName", getProjectTypeName()) + .append("attr1", getAttr1()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .append("delFlag", getDelFlag()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcSampleRule.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcSampleRule.java new file mode 100644 index 000000000..cbba0e13f --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcSampleRule.java @@ -0,0 +1,137 @@ +package com.op.quality.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.op.common.core.annotation.Excel; +import com.op.common.core.web.domain.BaseEntity; + +/** + * 来料抽样规则对象 qc_sample_rule + * + * @author Open Platform + * @date 2023-12-28 + */ +public class QcSampleRule extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** id */ + private String id; + + /** 开始值 */ + @Excel(name = "开始值") + private Long startValue; + + /** 检测项方案名称 */ + @Excel(name = "结束值") + private Long endValue; + + /** 预留字段1 */ + @Excel(name = "预留字段1") + private String attr1; + + /** 工厂编码 */ + @Excel(name = "工厂编码") + private String factoryCode; + + /** 删除标识1删除0正常 */ + private String delFlag; + + /** 抽样数量 */ + @Excel(name = "抽样数量") + private Long sampleQuality; + + /** 小节点 */ + @Excel(name = "小节点") + private String checkType; + + /** 大节点 */ + @Excel(name = "大节点") + private String typeCode; + + public void setId(String id) { + this.id = id; + } + + public String getId() { + return id; + } + + public Long getStartValue() { + return startValue; + } + + public void setStartValue(Long startValue) { + this.startValue = startValue; + } + + public Long getEndValue() { + return endValue; + } + + public void setEndValue(Long endValue) { + this.endValue = endValue; + } + + public void setAttr1(String attr1) { + this.attr1 = attr1; + } + + public String getAttr1() { + return attr1; + } + public void setFactoryCode(String factoryCode) { + this.factoryCode = factoryCode; + } + + public String getFactoryCode() { + return factoryCode; + } + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + public void setSampleQuality(Long sampleQuality) { + this.sampleQuality = sampleQuality; + } + + public Long getSampleQuality() { + return sampleQuality; + } + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getCheckType() { + return checkType; + } + + public void setTypeCode(String typeCode) { + this.typeCode = typeCode; + } + + public String getTypeCode() { + return typeCode; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("start", getStartValue()) + .append("end", getEndValue()) + .append("attr1", getAttr1()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("factoryCode", getFactoryCode()) + .append("delFlag", getDelFlag()) + .append("sampleQuality", getSampleQuality()) + .append("checkType", getCheckType()) + .append("typeCode", getTypeCode()) + .toString(); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java index 5a0fe17cd..e3e30f7da 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcStaticTable.java @@ -1,10 +1,12 @@ package com.op.quality.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import com.op.common.core.annotation.Excel; import com.op.common.core.web.domain.BaseEntity; import com.op.system.api.domain.quality.ChartDTO; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -54,6 +56,242 @@ public class QcStaticTable extends BaseEntity { private String dataType; private String workCenter; + private String recordId; + private String checkNo; + private String orderNo; + private String incomeBatchNo; + private String quality; + private String unit; + @JsonFormat(pattern = "yyyy-MM-dd") + private Date incomeTime; + private String checkManCode; + private String checkManName; + private String ruleName; + private String projectId; + private String projectNo; + private String status; + private String ymdms; + private String column080090; + private String column090100; + private String column100110; + private String column110120; + private String column123133; + private String column133143; + private String column143153; + private String column153163; + private String column163173; + private String column180190; + private String column190200; + private String column200210; + + public String getColumn080090() { + return column080090; + } + + public void setColumn080090(String column080090) { + this.column080090 = column080090; + } + + public String getColumn090100() { + return column090100; + } + + public void setColumn090100(String column090100) { + this.column090100 = column090100; + } + + public String getColumn100110() { + return column100110; + } + + public void setColumn100110(String column100110) { + this.column100110 = column100110; + } + + public String getColumn110120() { + return column110120; + } + + public void setColumn110120(String column110120) { + this.column110120 = column110120; + } + + public String getColumn123133() { + return column123133; + } + + public void setColumn123133(String column123133) { + this.column123133 = column123133; + } + + public String getColumn133143() { + return column133143; + } + + public void setColumn133143(String column133143) { + this.column133143 = column133143; + } + + public String getColumn143153() { + return column143153; + } + + public void setColumn143153(String column143153) { + this.column143153 = column143153; + } + + public String getColumn153163() { + return column153163; + } + + public void setColumn153163(String column153163) { + this.column153163 = column153163; + } + + public String getColumn163173() { + return column163173; + } + + public void setColumn163173(String column163173) { + this.column163173 = column163173; + } + + public String getColumn180190() { + return column180190; + } + + public void setColumn180190(String column180190) { + this.column180190 = column180190; + } + + public String getColumn190200() { + return column190200; + } + + public void setColumn190200(String column190200) { + this.column190200 = column190200; + } + + public String getColumn200210() { + return column200210; + } + + public void setColumn200210(String column200210) { + this.column200210 = column200210; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getYmdms() { + return ymdms; + } + + public void setYmdms(String ymdms) { + this.ymdms = ymdms; + } + + public String getRuleName() { + return ruleName; + } + + public void setRuleName(String ruleName) { + this.ruleName = ruleName; + } + + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRecordId() { + return recordId; + } + + public void setRecordId(String recordId) { + this.recordId = recordId; + } + + public String getCheckNo() { + return checkNo; + } + + public void setCheckNo(String checkNo) { + this.checkNo = checkNo; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getIncomeBatchNo() { + return incomeBatchNo; + } + + public void setIncomeBatchNo(String incomeBatchNo) { + this.incomeBatchNo = incomeBatchNo; + } + + public String getQuality() { + return quality; + } + + public void setQuality(String quality) { + this.quality = quality; + } + + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + + public Date getIncomeTime() { + return incomeTime; + } + + public void setIncomeTime(Date incomeTime) { + this.incomeTime = incomeTime; + } + + public String getCheckManCode() { + return checkManCode; + } + + public void setCheckManCode(String checkManCode) { + this.checkManCode = checkManCode; + } + + public String getCheckManName() { + return checkManName; + } + + public void setCheckManName(String checkManName) { + this.checkManName = checkManName; + } + public String getWorkCenter() { return workCenter; } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java index 7a1c30d64..068127acf 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckProjectMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.op.quality.domain.QcCheckProject; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 检验项目维护Mapper接口 @@ -63,4 +64,7 @@ public interface QcCheckProjectMapper { public QcCheckProject selectSerialNumber(); + public QcCheckProject selectCheckProjectByRuleName(@Param("ruleName") String ruleName, + @Param("projectType") String projectType); + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java index 8b7f3a76d..500d2c61b 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcCheckTypeProjectMapper.java @@ -6,6 +6,7 @@ import java.util.Map; import com.op.quality.domain.QcCheckProject; import com.op.quality.domain.QcCheckTaskDetail; import com.op.quality.domain.QcCheckTypeProject; +import com.op.quality.domain.QcProjectType; import com.op.system.api.domain.SysDictData; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; @@ -77,4 +78,6 @@ public interface QcCheckTypeProjectMapper { List getProjectInfoList(QcCheckProject qcCheckProject); int insertQcCheckTypeProjects(@Param("list") List typeProjects); + + List getProjectOptions(QcCheckProject qcCheckProject); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProCheckMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProCheckMapper.java index f3963e23d..eb3afc248 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProCheckMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProCheckMapper.java @@ -39,4 +39,7 @@ public interface QcProCheckMapper { List getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome); List getQcProCheckList(QcProCheck qcProCheck); + + List getHFnames(QcProCheck qcProCheck); + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProjectTypeMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProjectTypeMapper.java new file mode 100644 index 000000000..71e279d94 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcProjectTypeMapper.java @@ -0,0 +1,63 @@ +package com.op.quality.mapper; + +import java.util.List; + +import com.op.quality.domain.QcProjectType; +import org.apache.ibatis.annotations.Mapper; + +/** + * 检验方案维护Mapper接口 + * + * @author Open Platform + * @date 2023-12-27 + */ +@Mapper +public interface QcProjectTypeMapper { + /** + * 查询检验方案维护 + * + * @param id 检验方案维护主键 + * @return 检验方案维护 + */ + public QcProjectType selectQcProjectTypeById(String id); + + /** + * 查询检验方案维护列表 + * + * @param qcProjectType 检验方案维护 + * @return 检验方案维护集合 + */ + public List selectQcProjectTypeList(QcProjectType qcProjectType); + + /** + * 新增检验方案维护 + * + * @param qcProjectType 检验方案维护 + * @return 结果 + */ + public int insertQcProjectType(QcProjectType qcProjectType); + + /** + * 修改检验方案维护 + * + * @param qcProjectType 检验方案维护 + * @return 结果 + */ + public int updateQcProjectType(QcProjectType qcProjectType); + + /** + * 删除检验方案维护 + * + * @param id 检验方案维护主键 + * @return 结果 + */ + public int deleteQcProjectTypeById(String id); + + /** + * 批量删除检验方案维护 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteQcProjectTypeByIds(String[] ids); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcSampleRuleMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcSampleRuleMapper.java new file mode 100644 index 000000000..02a8e0628 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcSampleRuleMapper.java @@ -0,0 +1,63 @@ +package com.op.quality.mapper; + +import java.util.List; + +import com.op.quality.domain.QcSampleRule; +import org.apache.ibatis.annotations.Mapper; + +/** + * 来料抽样规则Mapper接口 + * + * @author Open Platform + * @date 2023-12-28 + */ +@Mapper +public interface QcSampleRuleMapper { + /** + * 查询来料抽样规则 + * + * @param id 来料抽样规则主键 + * @return 来料抽样规则 + */ + public QcSampleRule selectQcSampleRuleById(String id); + + /** + * 查询来料抽样规则列表 + * + * @param qcSampleRule 来料抽样规则 + * @return 来料抽样规则集合 + */ + public List selectQcSampleRuleList(QcSampleRule qcSampleRule); + + /** + * 新增来料抽样规则 + * + * @param qcSampleRule 来料抽样规则 + * @return 结果 + */ + public int insertQcSampleRule(QcSampleRule qcSampleRule); + + /** + * 修改来料抽样规则 + * + * @param qcSampleRule 来料抽样规则 + * @return 结果 + */ + public int updateQcSampleRule(QcSampleRule qcSampleRule); + + /** + * 删除来料抽样规则 + * + * @param id 来料抽样规则主键 + * @return 结果 + */ + public int deleteQcSampleRuleById(String id); + + /** + * 批量删除来料抽样规则 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteQcSampleRuleByIds(String[] ids); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java index 052af7fc6..c2f7555ef 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcStaticTableMapper.java @@ -39,4 +39,10 @@ public interface QcStaticTableMapper { Map getProduceChartDataYM(QcStaticTable qcStaticTable); List getWorkcenterList(FactoryDto factoryDto); + + List getXJCheckTableList(QcStaticTable qcStaticTable); + + List getXJProjects(QcStaticTable qcStaticTable); + @MapKey("ymdms") + Map getProjectDetail(QcStaticTable qcStaticTable); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java index 0f3999235..11b5cf21d 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckProjectService.java @@ -57,4 +57,10 @@ public interface IQcCheckProjectService { * @return 结果 */ public int deleteQcCheckProjectById(String id); + /** + * 导入检验项目维护信息 + * + * @return 结果 + */ + public String importCheckProject(List projectList, Boolean isUpdateSupport, String operName); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java index aeffa6f9d..2790a01ac 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcCheckTypeProjectService.java @@ -4,6 +4,7 @@ import java.util.List; import com.op.quality.domain.QcCheckProject; import com.op.quality.domain.QcCheckTypeProject; +import com.op.quality.domain.QcProjectType; /** * 物料检验项目维护Service接口 @@ -66,4 +67,6 @@ public interface IQcCheckTypeProjectService { List getProjectInfoList(QcCheckProject qcCheckProject); int submitProjects(List typeProjects); + + List getProjectOptions(QcCheckProject qcCheckProject); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcProjectTypeService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcProjectTypeService.java new file mode 100644 index 000000000..56ab6b49f --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcProjectTypeService.java @@ -0,0 +1,60 @@ +package com.op.quality.service; + +import java.util.List; +import com.op.quality.domain.QcProjectType; + +/** + * 检验方案维护Service接口 + * + * @author Open Platform + * @date 2023-12-27 + */ +public interface IQcProjectTypeService { + /** + * 查询检验方案维护 + * + * @param id 检验方案维护主键 + * @return 检验方案维护 + */ + public QcProjectType selectQcProjectTypeById(String id); + + /** + * 查询检验方案维护列表 + * + * @param qcProjectType 检验方案维护 + * @return 检验方案维护集合 + */ + public List selectQcProjectTypeList(QcProjectType qcProjectType); + + /** + * 新增检验方案维护 + * + * @param qcProjectType 检验方案维护 + * @return 结果 + */ + public int insertQcProjectType(QcProjectType qcProjectType); + + /** + * 修改检验方案维护 + * + * @param qcProjectType 检验方案维护 + * @return 结果 + */ + public int updateQcProjectType(QcProjectType qcProjectType); + + /** + * 批量删除检验方案维护 + * + * @param ids 需要删除的检验方案维护主键集合 + * @return 结果 + */ + public int deleteQcProjectTypeByIds(String[] ids); + + /** + * 删除检验方案维护信息 + * + * @param id 检验方案维护主键 + * @return 结果 + */ + public int deleteQcProjectTypeById(String id); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcSampleRuleService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcSampleRuleService.java new file mode 100644 index 000000000..7b23f75f8 --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcSampleRuleService.java @@ -0,0 +1,60 @@ +package com.op.quality.service; + +import java.util.List; +import com.op.quality.domain.QcSampleRule; + +/** + * 来料抽样规则Service接口 + * + * @author Open Platform + * @date 2023-12-28 + */ +public interface IQcSampleRuleService { + /** + * 查询来料抽样规则 + * + * @param id 来料抽样规则主键 + * @return 来料抽样规则 + */ + public QcSampleRule selectQcSampleRuleById(String id); + + /** + * 查询来料抽样规则列表 + * + * @param qcSampleRule 来料抽样规则 + * @return 来料抽样规则集合 + */ + public List selectQcSampleRuleList(QcSampleRule qcSampleRule); + + /** + * 新增来料抽样规则 + * + * @param qcSampleRule 来料抽样规则 + * @return 结果 + */ + public int insertQcSampleRule(QcSampleRule qcSampleRule); + + /** + * 修改来料抽样规则 + * + * @param qcSampleRule 来料抽样规则 + * @return 结果 + */ + public int updateQcSampleRule(QcSampleRule qcSampleRule); + + /** + * 批量删除来料抽样规则 + * + * @param ids 需要删除的来料抽样规则主键集合 + * @return 结果 + */ + public int deleteQcSampleRuleByIds(String[] ids); + + /** + * 删除来料抽样规则信息 + * + * @param id 来料抽样规则主键 + * @return 结果 + */ + public int deleteQcSampleRuleById(String id); +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java index e722ca1e5..a2e6ab7ff 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcStaticTableService.java @@ -29,4 +29,8 @@ public interface IQcStaticTableService { public Map getProduceChartDataYM(QcStaticTable qcStaticTable); List getWorkcenterList(FactoryDto factoryDto); + + List getXJCheckTableList(QcStaticTable qcStaticTable); + + List getXJCheckTableDetail(QcStaticTable qcStaticTable); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/QcProCheckService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/QcProCheckService.java index 8619fd2b4..8c7b7c6c9 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/QcProCheckService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/QcProCheckService.java @@ -7,6 +7,8 @@ import com.op.quality.domain.QcCheckTaskIncome; import com.op.quality.domain.QcCheckTypeProject; import com.op.quality.domain.QcProCheck; import com.op.system.api.domain.SysDictData; +import com.op.system.api.domain.quality.ChartDTO; +import com.op.system.api.domain.quality.ChartSeriesDTO; import java.util.List; @@ -39,4 +41,6 @@ public interface QcProCheckService { List getQcUnitList(SysDictData sysDictData); List selectQcCheckList(QcProCheck qcProCheck); + + ChartSeriesDTO getHfChartData(QcProCheck qcProCheck); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckProjectServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckProjectServiceImpl.java index 6e6fd6068..36737b326 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckProjectServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckProjectServiceImpl.java @@ -3,19 +3,26 @@ package com.op.quality.service.impl; import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.exception.ServiceException; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; +import com.op.common.core.utils.bean.BeanValidators; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.quality.mapper.QcCheckProjectMapper; import com.op.quality.domain.QcCheckProject; import com.op.quality.service.IQcCheckProjectService; +import org.springframework.util.CollectionUtils; +import org.springframework.util.ObjectUtils; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; +import javax.validation.Validator; /** * 检验项目维护Service业务层处理 @@ -25,9 +32,14 @@ import javax.servlet.http.HttpServletRequest; */ @Service public class QcCheckProjectServiceImpl implements IQcCheckProjectService { + private static final Logger log = LoggerFactory.getLogger(QcCheckProject.class); + @Autowired private QcCheckProjectMapper qcCheckProjectMapper; + @Autowired + protected Validator validator; + /** * 查询检验项目维护 * @@ -113,6 +125,60 @@ public class QcCheckProjectServiceImpl implements IQcCheckProjectService { return qcCheckProjectMapper.deleteQcCheckProjectById(id); } + @Override + @DS("#header.poolName") + public String importCheckProject(List projectList, Boolean isUpdateSupport, String operName) { + if (CollectionUtils.isEmpty(projectList)) { + throw new ServiceException("导入的检测项目数据为空!"); + } + int successNum = 0; + int failproNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failproMsg = new StringBuilder(); + + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + String factoryCode = request.getHeader(key.substring(8)).replace("ds_", ""); + for (QcCheckProject project : projectList) { + try { + QcCheckProject pro = qcCheckProjectMapper.selectCheckProjectByRuleName(project.getRuleName(),project.getProjectType()); + if (ObjectUtils.isEmpty(pro)) { + BeanValidators.validateWithException(validator, project); + project.setId(IdUtils.fastSimpleUUID()); + project.setCreateTime(DateUtils.getNowDate()); + project.setCreateBy(operName); + project.setFactoryCode(factoryCode); + qcCheckProjectMapper.insertQcCheckProject(project); + successNum++; + successMsg.append("
" + successNum + "。检测项目" + project.getRuleName()+ "导入成功"); + } else if (isUpdateSupport) { + BeanValidators.validateWithException(validator, project); + project.setId(pro.getId()); + project.setUpdateTime(DateUtils.getNowDate()); + project.setUpdateBy(operName); + qcCheckProjectMapper.updateQcCheckProject(project); + successNum++; + successMsg.append("
" + successNum + "。检测项目[" + project.getRuleName()+ "]更新成功"); + }else { + failproNum++; + failproMsg.append("
" + failproNum + "。检测项目[" + project.getRuleName()+ "]已存在"); + } + }catch (Exception e) { + failproNum++; + String msg = "
" + failproNum + "、检测项目[" + project.getRuleName() + "]导入失败"; + failproMsg.append(msg + e.getMessage()); + log.error(msg, e); + } + } + if (failproNum > 0) { + failproMsg.insert(0, "很抱歉,导入失败!共" + failproNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failproMsg.toString()); + } else { + successMsg.insert(0, "恭喜您,数据已全部导入成功! 共" + successNum + " 条,数据如下:"); + } + return successMsg.toString(); + } + private String getOrderNum() { String orderNum = ""; String now = DateUtils.getDate(); diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java index 248906d92..bca08e497 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTaskIncomeServiceImpl.java @@ -1,21 +1,21 @@ package com.op.quality.service.impl; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - +import java.util.*; +import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONArray; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder; import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.StringUtils; import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.core.web.domain.AjaxResult; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.*; import com.op.quality.mapper.*; import com.op.quality.service.IQcCheckTaskProduceService; import com.op.quality.service.IQcCheckTaskUserService; +import com.op.system.api.RemoteOpenService; import com.op.system.api.domain.SysUser; import com.op.system.api.domain.quality.QcUserMaterialDTO; import org.slf4j.Logger; @@ -63,6 +63,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { @Autowired private IQcCheckTaskUserService qcCheckTaskUserService; + @Autowired + private RemoteOpenService remoteOpenService; + /** * 查询来料检验 * @@ -96,9 +99,8 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { * @return 结果 */ @Override - @DS("#header.poolName") public int insertQcCheckTaskIncome(QcCheckTaskIncome qcCheckTaskIncome) { - + DynamicDataSourceContextHolder.push("ds_" + qcCheckTaskIncome.getFactoryCode()); String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); int liushuiNum = qcCheckTaskIncomeMapper.getTodayMaxNum(qcCheckTaskIncome); String liushuiStr = String.format("%04d", liushuiNum); @@ -384,6 +386,25 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { unqualified.setType(qcCheckTaskIncome.getCheckType()); /**qc_check_unqualified**/ qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified); + + //发起来料检验OA流程 + Map paramMap = new HashMap<>(); + paramMap.put("user",qcCheckTaskIncome.getUpdateBy());//提交人工号 + paramMap.put("requestLevel",0);//流程紧急度 + paramMap.put("requestName","ZL0010-来料检验不合格审批流程(定单:"+qcCheckTaskIncome.getOrderNo()+")");//流程名称 + paramMap.put("workflowld","26258");//该流程对应的唯- workFlowld + + StringBuffer mainObject = new StringBuffer(); + mainObject.append("{"); + mainObject.append("\"CQ\":"+1);//厂区 + mainObject.append("\"LLLB\":"+0);//来料类别【0、1】 + mainObject.append("\"MATNR\""+"\"000000010101003200\"");//物料编码 + //mainObject.append("\"MAKTX\""+MATNR);//物料名称 + mainObject.append("{"); + paramMap.put("mainObject",mainObject.toString()); + logger.info("流程Id 26258:"+ JSONObject.toJSONString(paramMap)); + AjaxResult oaR = remoteOpenService.OAInspection(paramMap); + logger.info("流程Id 26258:"+ JSONObject.toJSONString(oaR)); } return n ; @@ -476,7 +497,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { qcCheckTask.setUpdateTime(nowTime); qcCheckTask.setCheckTime(nowTime); qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格 - + qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo()); BigDecimal noOkQquality = new BigDecimal("0"); List defects = qcCheckTaskIncome.getDefects(); for(QcCheckTaskDefect defect:defects){ @@ -527,6 +548,25 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService { /**qc_check_unqualified**/ n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified); logger.info("qc_check_unqualified:"+n); + + //发起来料检验OA流程 + Map paramMap = new HashMap<>(); + paramMap.put("user",updateBy);//提交人工号 + paramMap.put("requestLevel",0);//流程紧急度 + paramMap.put("requestName","ZL0010-来料检验不合格审批流程(定单:"+qcCheckTaskIncome.getOrderNo()+")");//流程名称 + paramMap.put("workflowld","26258");//该流程对应的唯- workFlowld + + StringBuffer mainObject = new StringBuffer(); + mainObject.append("{"); + mainObject.append("\"CQ\":"+1);//厂区 + mainObject.append("\"LLLB\":"+0);//来料类别【0、1】 + mainObject.append("\"MATNR\""+"\"000000010101003200\"");//物料编码 + //mainObject.append("\"MAKTX\""+MATNR);//物料名称 + mainObject.append("{"); + paramMap.put("mainObject",mainObject.toString()); + + AjaxResult oaR = remoteOpenService.OAInspection(paramMap); + logger.info("流程Id 26258:"+ JSONObject.toJSONString(oaR)); } return n ; diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java index 64cb78142..d35f5ca37 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcCheckTypeProjectServiceImpl.java @@ -10,6 +10,7 @@ import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.uuid.IdUtils; import com.op.common.security.utils.SecurityUtils; import com.op.quality.domain.QcCheckProject; +import com.op.quality.domain.QcProjectType; import com.op.system.api.domain.SysDictData; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -155,5 +156,11 @@ public class QcCheckTypeProjectServiceImpl implements IQcCheckTypeProjectService return m; } + @Override + @DS("#header.poolName") + public List getProjectOptions(QcCheckProject qcCheckProject) { + return qcCheckTypeProjectMapper.getProjectOptions(qcCheckProject); + } + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java index daee7bf0a..b8c739f9c 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProCheckServiceImpl.java @@ -14,6 +14,8 @@ import com.op.quality.mapper.QcCheckTaskIncomeMapper; import com.op.quality.mapper.QcProCheckMapper; import com.op.quality.service.QcProCheckService; import com.op.system.api.domain.SysDictData; +import com.op.system.api.domain.quality.ChartDTO; +import com.op.system.api.domain.quality.ChartSeriesDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -151,4 +153,35 @@ public class QcProCheckServiceImpl implements QcProCheckService { return qcProCheckMapper.getQcProCheckList(qcProCheck); } + @Override + @DS("#header.poolName") + public ChartSeriesDTO getHfChartData(QcProCheck qcProCheck) { + ChartSeriesDTO dto = new ChartSeriesDTO(); + List checkList = null; + List yData = new ArrayList<>(); + List sers = new ArrayList<>(); + checkList = qcProCheckMapper.getHFnames(qcProCheck); + ChartDTO chartDTO = new ChartDTO(); + chartDTO.setName("合格"); + List data = new ArrayList<>(); + + ChartDTO chartDTO0 = new ChartDTO(); + chartDTO0.setName("不合格"); + List data0 = new ArrayList<>(); + for(QcProCheck check:checkList){ + yData.add(check.getMachineName()); + data.add(Double.parseDouble(check.getOkQuality())); + data0.add(Double.parseDouble(check.getQuality())-Double.parseDouble(check.getOkQuality())); + } + chartDTO.setData(data); + chartDTO0.setData(data0); + sers.add(chartDTO); + sers.add(chartDTO0); + + dto.setyAxisData(yData); + dto.setSeries(sers); + + return dto; + } + } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProjectTypeServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProjectTypeServiceImpl.java new file mode 100644 index 000000000..d1a278c4f --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcProjectTypeServiceImpl.java @@ -0,0 +1,109 @@ +package com.op.quality.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.quality.mapper.QcProjectTypeMapper; +import com.op.quality.domain.QcProjectType; +import com.op.quality.service.IQcProjectTypeService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 检验方案维护Service业务层处理 + * + * @author Open Platform + * @date 2023-12-27 + */ +@Service +public class QcProjectTypeServiceImpl implements IQcProjectTypeService { + @Autowired + private QcProjectTypeMapper qcProjectTypeMapper; + + /** + * 查询检验方案维护 + * + * @param id 检验方案维护主键 + * @return 检验方案维护 + */ + @Override + @DS("#header.poolName") + public QcProjectType selectQcProjectTypeById(String id) { + return qcProjectTypeMapper.selectQcProjectTypeById(id); + } + + /** + * 查询检验方案维护列表 + * + * @param qcProjectType 检验方案维护 + * @return 检验方案维护 + */ + @Override + @DS("#header.poolName") + public List selectQcProjectTypeList(QcProjectType qcProjectType) { + return qcProjectTypeMapper.selectQcProjectTypeList(qcProjectType); + } + + /** + * 新增检验方案维护 + * + * @param qcProjectType 检验方案维护 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcProjectType(QcProjectType qcProjectType) { + qcProjectType.setId(IdUtils.fastSimpleUUID()); + qcProjectType.setCreateBy(SecurityUtils.getUsername()); + qcProjectType.setCreateTime(DateUtils.getNowDate()); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + qcProjectType.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + return qcProjectTypeMapper.insertQcProjectType(qcProjectType); + } + + /** + * 修改检验方案维护 + * + * @param qcProjectType 检验方案维护 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcProjectType(QcProjectType qcProjectType) { + qcProjectType.setUpdateTime(DateUtils.getNowDate()); + qcProjectType.setUpdateBy(SecurityUtils.getUsername()); + return qcProjectTypeMapper.updateQcProjectType(qcProjectType); + } + + /** + * 批量删除检验方案维护 + * + * @param ids 需要删除的检验方案维护主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcProjectTypeByIds(String[] ids) { + return qcProjectTypeMapper.deleteQcProjectTypeByIds(ids); + } + + /** + * 删除检验方案维护信息 + * + * @param id 检验方案维护主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcProjectTypeById(String id) { + return qcProjectTypeMapper.deleteQcProjectTypeById(id); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcSampleRuleServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcSampleRuleServiceImpl.java new file mode 100644 index 000000000..819217e0c --- /dev/null +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcSampleRuleServiceImpl.java @@ -0,0 +1,109 @@ +package com.op.quality.service.impl; + +import java.util.List; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.op.quality.mapper.QcSampleRuleMapper; +import com.op.quality.domain.QcSampleRule; +import com.op.quality.service.IQcSampleRuleService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; + +/** + * 来料抽样规则Service业务层处理 + * + * @author Open Platform + * @date 2023-12-28 + */ +@Service +public class QcSampleRuleServiceImpl implements IQcSampleRuleService { + @Autowired + private QcSampleRuleMapper qcSampleRuleMapper; + + /** + * 查询来料抽样规则 + * + * @param id 来料抽样规则主键 + * @return 来料抽样规则 + */ + @Override + @DS("#header.poolName") + public QcSampleRule selectQcSampleRuleById(String id) { + return qcSampleRuleMapper.selectQcSampleRuleById(id); + } + + /** + * 查询来料抽样规则列表 + * + * @param qcSampleRule 来料抽样规则 + * @return 来料抽样规则 + */ + @Override + @DS("#header.poolName") + public List selectQcSampleRuleList(QcSampleRule qcSampleRule) { + return qcSampleRuleMapper.selectQcSampleRuleList(qcSampleRule); + } + + /** + * 新增来料抽样规则 + * + * @param qcSampleRule 来料抽样规则 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int insertQcSampleRule(QcSampleRule qcSampleRule) { + qcSampleRule.setCreateTime(DateUtils.getNowDate()); + qcSampleRule.setId(IdUtils.fastSimpleUUID()); + qcSampleRule.setCreateBy(SecurityUtils.getUsername()); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + qcSampleRule.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); + return qcSampleRuleMapper.insertQcSampleRule(qcSampleRule); + } + + /** + * 修改来料抽样规则 + * + * @param qcSampleRule 来料抽样规则 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int updateQcSampleRule(QcSampleRule qcSampleRule) { + qcSampleRule.setUpdateTime(DateUtils.getNowDate()); + qcSampleRule.setUpdateBy(SecurityUtils.getUsername()); + return qcSampleRuleMapper.updateQcSampleRule(qcSampleRule); + } + + /** + * 批量删除来料抽样规则 + * + * @param ids 需要删除的来料抽样规则主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcSampleRuleByIds(String[] ids) { + return qcSampleRuleMapper.deleteQcSampleRuleByIds(ids); + } + + /** + * 删除来料抽样规则信息 + * + * @param id 来料抽样规则主键 + * @return 结果 + */ + @Override + @DS("#header.poolName") + public int deleteQcSampleRuleById(String id) { + return qcSampleRuleMapper.deleteQcSampleRuleById(id); + } +} diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java index a1f9e4d86..4c77a4bc0 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/impl/QcStaticTableServiceImpl.java @@ -5,7 +5,7 @@ import java.util.List; import java.util.Map; import com.baomidou.dynamic.datasource.annotation.DS; -import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.StringUtils; import com.op.system.api.domain.quality.FactoryDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -136,5 +136,122 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService { return qcStaticTableMapper.getWorkcenterList(factoryDto); } + /**巡检记录**/ + @Override + @DS("#header.poolName") + public List getXJCheckTableList(QcStaticTable qcStaticTable) { + List tabledtos = qcStaticTableMapper.getXJCheckTableList(qcStaticTable); + return tabledtos; + } + + @Override + @DS("#header.poolName") + public List getXJCheckTableDetail(QcStaticTable qcStaticTable) { + List projects = qcStaticTableMapper.getXJProjects(qcStaticTable); + Map detailMap = qcStaticTableMapper.getProjectDetail(qcStaticTable); + for(QcStaticTable project:projects){ + this.getDataFromMap(detailMap,project); + } + + return projects; + } + + private void getDataFromMap(Map detailMap,QcStaticTable project){ + String keystr = project.getProjectId()+"08"; + QcStaticTable detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn080090(detail.getStatus()); + }else{ + project.setColumn080090("-"); + } + + keystr = project.getProjectId()+"09"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn090100(detail.getStatus()); + }else{ + project.setColumn090100("-"); + } + + keystr = project.getProjectId()+"10"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn100110(detail.getStatus()); + }else{ + project.setColumn100110("-"); + } + + keystr = project.getProjectId()+"11"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn110120(detail.getStatus()); + }else{ + project.setColumn110120("-"); + } + + keystr = project.getProjectId()+"12"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn123133(detail.getStatus()); + }else{ + project.setColumn123133("-"); + } + + keystr = project.getProjectId()+"13"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn133143(detail.getStatus()); + }else{ + project.setColumn133143("-"); + } + + keystr = project.getProjectId()+"14"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn143153(detail.getStatus()); + }else{ + project.setColumn143153("-"); + } + + keystr = project.getProjectId()+"15"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn153163(detail.getStatus()); + }else{ + project.setColumn153163("-"); + } + + keystr = project.getProjectId()+"16"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn163173(detail.getStatus()); + }else{ + project.setColumn163173("-"); + } + + keystr = project.getProjectId()+"18"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn180190(detail.getStatus()); + }else{ + project.setColumn180190("-"); + } + + keystr = project.getProjectId()+"19"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn190200(detail.getStatus()); + }else{ + project.setColumn190200("-"); + } + + keystr = project.getProjectId()+"20"; + detail = detailMap.get(keystr); + if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){ + project.setColumn200210(detail.getStatus()); + }else{ + project.setColumn200210("-"); + } + } } diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml index 5ee4c824d..1b49846f1 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml @@ -23,13 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + select id, order_num, rule_name, property_code, check_mode, check_tool, unit_code, check_standard, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag,sample_plan, - judge,defect_level + judge,defect_level,project_type from qc_check_project @@ -46,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and attr1 = #{attr1} and factory_code = #{factoryCode} and judge = #{judge} + project_type = #{projectType} order by create_time @@ -76,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sample_plan, judge, defect_level, + project_type, @@ -97,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{samplePlan}, #{judge}, #{defectLevel}, + #{projectType}, @@ -120,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" sample_plan = #{samplePlan}, judge = #{judge}, defect_level = #{defectLevel}, + project_type = #{projectType}, where id = #{id} @@ -141,4 +146,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120) + + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml index ccd11f365..dcdc372f9 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckReportIncomeMapper.xml @@ -33,11 +33,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit, - supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name, + supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name,sample_quality, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_check_task @@ -46,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select qct.record_id, qct.check_no, qct.income_batch_no, qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit, qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status, - qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status, + qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,qct.sample_quality, qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type, q.type_code from qc_check_task qct @@ -132,7 +133,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" td.update_time updateTime, qctp.upper_diff upperDiff, qctp.down_diff downDiff, - qctp.sample + qctp.sample, + qctp.sample_num sampleNum from qc_check_task_detail td left join qc_check_type_project qctp on td.type_project_id = qctp.id where td.belong_to = #{recordId} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml index 8cb572ac3..39ae269b3 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTaskIncomeMapper.xml @@ -280,6 +280,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" aNoOkquality = #{aNoOkquality}, bNoOkquality = #{bNoOkquality}, cNoOkquality = #{cNoOkquality}, + income_batch_no = #{incomeBatchNo}, check_result = #{checkResult}, update_by = #{updateBy}, update_time = #{updateTime} diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml index a0e42006c..672a754e6 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml @@ -306,6 +306,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" defect_level defectLevel from qc_check_project where del_flag = '0' + and project_type = #{projectType} and rule_name like concat('%',#{ruleName},'%') and id not in( select project_id from qc_check_type_project @@ -314,4 +315,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and material_code = #{materialCode} ) + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml index 6aadc6428..de5b8fa80 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcProCheckMapper.xml @@ -286,5 +286,70 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" GROUP BY q1.machine_code + diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcProjectTypeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcProjectTypeMapper.xml new file mode 100644 index 000000000..fb48d98d4 --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcProjectTypeMapper.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + select id, project_type_code, project_type_name, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_project_type + + + + + + + + insert into qc_project_type + + id, + project_type_code, + project_type_name, + attr1, + create_by, + create_time, + update_by, + update_time, + factory_code, + del_flag, + + + #{id}, + #{projectTypeCode}, + #{projectTypeName}, + #{attr1}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{factoryCode}, + #{delFlag}, + + + + + update qc_project_type + + project_type_code = #{projectTypeCode}, + project_type_name = #{projectTypeName}, + attr1 = #{attr1}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + factory_code = #{factoryCode}, + del_flag = #{delFlag}, + + where id = #{id} + + + + delete from qc_project_type where id = #{id} + + + + delete from qc_project_type where id in + + #{id} + + + \ No newline at end of file diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcSampleRuleMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcSampleRuleMapper.xml new file mode 100644 index 000000000..ee006ebbd --- /dev/null +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcSampleRuleMapper.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + select id, start_value, end_value, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag, sample_quality, check_type, type_code from qc_sample_rule + + + + + + + + insert into qc_sample_rule + + id, + start_value, + end_value, + attr1, + create_by, + create_time, + update_by, + update_time, + factory_code, + del_flag, + sample_quality, + check_type, + type_code, + + + #{id}, + #{startValue}, + #{endValue}, + #{attr1}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{factoryCode}, + #{delFlag}, + #{sampleQuality}, + #{checkType}, + #{typeCode}, + + + + + update qc_sample_rule + + start_value = #{startValue}, + end_value = #{endValue}, + attr1 = #{attr1}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + factory_code = #{factoryCode}, + del_flag = #{delFlag}, + sample_quality = #{sampleQuality}, + check_type = #{checkType}, + type_code = #{typeCode}, + + where id = #{id} + + + + delete from qc_sample_rule where id = #{id} + + + + delete from qc_sample_rule where id in + + #{id} + + + \ No newline at end of file diff --git a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml index 79ff3c66f..739fe1347 100644 --- a/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcStaticTableMapper.xml @@ -105,4 +105,53 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" factory_code factoryCode from sys_factory where f_type = 'c' + + + diff --git a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java index d9bcfd2a1..c1e656d28 100644 --- a/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java +++ b/op-modules/op-system/src/main/java/com/op/system/service/impl/SysUserServiceImpl.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import javax.servlet.http.HttpServletRequest; import javax.validation.Validator; import com.op.system.domain.SysDatasource; @@ -28,6 +29,8 @@ import com.op.system.domain.SysUserPost; import com.op.system.domain.SysUserRole; import com.op.system.service.ISysConfigService; import com.op.system.service.ISysUserService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; /** * 用户 业务层处理 @@ -242,13 +245,17 @@ public class SysUserServiceImpl implements ISysUserService { // 新增用户与角色管理 insertUserRole(user); // 加工厂数据权限 + //工厂号 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + user.setDeptId(Long.parseLong(request.getHeader(key.substring(8)).replace("ds_",""))); insertUserDB(user); return rows; } public void insertUserDB(SysUser user) { // 新增用户与园区数据源 SysDatasource qo = new SysDatasource(); - qo.setDeptId(user.getDeptId());// + qo.setDeptId(user.getDeptId()); //先删掉 sysDatasourceMapper.deletUserDB(user.getUserId().toString()); @@ -293,6 +300,9 @@ public class SysUserServiceImpl implements ISysUserService { // 新增用户与岗位管理 insertUserPost(user); // 加工厂数据权限 + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + user.setDeptId(Long.parseLong(request.getHeader(key.substring(8)).replace("ds_",""))); insertUserDB(user); return userMapper.updateUser(user); } diff --git a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml index 2781b88e5..b7c7b6e30 100644 --- a/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/op-modules/op-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -23,8 +23,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -47,7 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, + select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, u.wx_id, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status, r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status from sys_user u @@ -57,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + SELECT DISTINCT zh_desc FROM base_supplier WHERE supplier_code= #{supplierCode} + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml index 1267b32b2..4ec516ffc 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/OdsProcureOutOrderMapper.xml @@ -306,6 +306,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" User_Defined11 = #{userDefined11} where ID = #{ID} + + update ods_procure_out_order + set User_Defined10 = #{order.userDefined10}, + User_Defined9 = #{order.userDefined9}, + User_Defined11 = #{order.userDefined11} + where ID in + + #{item.ID} + + - + diff --git a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml index 7f333af11..5ea7ec9b3 100644 --- a/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml +++ b/op-modules/op-wms/src/main/resources/mapper/wms/WmsProductPutMapper.xml @@ -3,7 +3,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + @@ -46,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + SELECT + report_code work_order, + product_code, + product_name, + unit unit_of_measure, + quantity plan_quantity + FROM + mes_report_work + WHERE + report_code=#{workOrder} + and + parent_order = '0' + + +