diff --git a/src/main/java/com/bonus/aqgqj/app/controller/SamplesManageAppController.java b/src/main/java/com/bonus/aqgqj/app/controller/SamplesManageAppController.java index c7e9e60..bf362a4 100644 --- a/src/main/java/com/bonus/aqgqj/app/controller/SamplesManageAppController.java +++ b/src/main/java/com/bonus/aqgqj/app/controller/SamplesManageAppController.java @@ -6,13 +6,10 @@ import com.bonus.aqgqj.app.entity.SamplesManageAppVo; import com.bonus.aqgqj.app.service.SamplesManageAppService; import com.bonus.aqgqj.system.vo.EncryptedReq; import com.bonus.aqgqj.utils.ServerResponse; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -76,18 +73,6 @@ public class SamplesManageAppController { return ServerResponse.createErroe("操作失败"); } - @PostMapping(value = "allCustomName") - @LogAnnotation(operModul = "收样管理", operation = "查询所有单位", operDesc = "业务级事件",operType="查询") - public ServerResponse getAllCustomName() { - try { - List list = samplesManageAppService.getAllCustomName(); - return ServerResponse.createSuccess(list); - }catch (Exception e){ - log.error(e.toString(),e); - } - return ServerResponse.createErroe("操作失败"); - } - /** * @description 新增收样数据 */ @@ -120,19 +105,6 @@ public class SamplesManageAppController { } } - @PostMapping(value = "getDeptSelectedById") - @DecryptAndVerify(decryptedClass = SamplesManageAppVo.class) - @LogAnnotation(operModul = "收样管理", operation = "根据单位id获取部门", operDesc = "业务级事件",operType="查询") - public ServerResponse getDeptSelectedById(EncryptedReq data) { - try { - List list = samplesManageAppService.getDeptSelectedById(data.getData()); - return ServerResponse.createSuccess(list); - }catch (Exception e){ - log.error(e.toString(),e); - } - return ServerResponse.createErroe("操作失败"); - } - @PostMapping(value = "getAuthority") @DecryptAndVerify(decryptedClass = SamplesManageAppVo.class) @LogAnnotation(operModul = "收样管理", operation = "查询是否具有派工/收样权限", operDesc = "业务级事件",operType="查询") diff --git a/src/main/java/com/bonus/aqgqj/app/controller/SelectAppController.java b/src/main/java/com/bonus/aqgqj/app/controller/SelectAppController.java index 99e0998..9419f0f 100644 --- a/src/main/java/com/bonus/aqgqj/app/controller/SelectAppController.java +++ b/src/main/java/com/bonus/aqgqj/app/controller/SelectAppController.java @@ -59,4 +59,33 @@ public class SelectAppController { return ServerResponse.createErroe("操作失败"); } + /** + * 查询所有单位 + */ + @PostMapping(value = "getCustomNameSelected") + public ServerResponse getCustomNameSelected() { + try { + List list = service.getCustomNameSelected(); + return ServerResponse.createSuccess(list); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + + /** + * 根据单位id,获取部门下拉选 + */ + @PostMapping(value = "getDeptSelectedById") + @DecryptAndVerify(decryptedClass = SamplesManageAppVo.class) + public ServerResponse getDeptSelectedById(EncryptedReq data) { + try { + List list = service.getDeptSelectedById(data.getData()); + return ServerResponse.createSuccess(list); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("操作失败"); + } + } diff --git a/src/main/java/com/bonus/aqgqj/app/dao/SamplesManageAppDao.java b/src/main/java/com/bonus/aqgqj/app/dao/SamplesManageAppDao.java index e37b296..250002f 100644 --- a/src/main/java/com/bonus/aqgqj/app/dao/SamplesManageAppDao.java +++ b/src/main/java/com/bonus/aqgqj/app/dao/SamplesManageAppDao.java @@ -34,12 +34,6 @@ public interface SamplesManageAppDao { */ List getDetailsList(SamplesManageAppVo data); - /** - * 获取所有单位名称 - * @return - */ - List getAllCustomName(); - /** * 新增收样数据 tb_samples * @param SamplesManageAppVo @@ -75,13 +69,6 @@ public interface SamplesManageAppDao { */ int updateTeamId(SamplesManageAppVo dto); - /** - * 获取部门 - * @param data - * @return - */ - List getDeptSelectedById(SamplesManageAppVo data); - /** * 获取标签数据 * @param data @@ -95,4 +82,18 @@ public interface SamplesManageAppDao { * @return */ List getTestItemList(SamplesManageAppVo dto); + + /** + * 获取收样批次编号 + * @param nowDate + * @return + */ + String selectBatchCode(String nowDate); + + /** + * 根据批次编号获取id + * @param batchCode + * @return + */ + Integer getIdByBatchCode(String batchCode); } diff --git a/src/main/java/com/bonus/aqgqj/app/dao/SelectAppDao.java b/src/main/java/com/bonus/aqgqj/app/dao/SelectAppDao.java index 4ad0ec4..5690f23 100644 --- a/src/main/java/com/bonus/aqgqj/app/dao/SelectAppDao.java +++ b/src/main/java/com/bonus/aqgqj/app/dao/SelectAppDao.java @@ -26,4 +26,17 @@ public interface SelectAppDao { * @return List */ List getTestTeamSelected(); + + /** + * 获取所有单位 + * @return List + */ + List getCustomNameSelected(); + + /** + * 根据单位id获取部门 + * @param data + * @return List + */ + List getDeptSelectedById(SamplesManageAppVo data); } diff --git a/src/main/java/com/bonus/aqgqj/app/service/SamplesManageAppService.java b/src/main/java/com/bonus/aqgqj/app/service/SamplesManageAppService.java index 6b38001..c637cf4 100644 --- a/src/main/java/com/bonus/aqgqj/app/service/SamplesManageAppService.java +++ b/src/main/java/com/bonus/aqgqj/app/service/SamplesManageAppService.java @@ -24,12 +24,6 @@ public interface SamplesManageAppService { */ List getDetailsList(SamplesManageAppVo data); - /** - * 单位列表 - * @return - */ - List getAllCustomName(); - /** * 新增 * @param data @@ -44,13 +38,6 @@ public interface SamplesManageAppService { */ ServerResponse dispatchWork(SamplesManageAppVo data); - /** - * 根据单位Id获取部门列表 - * @param data - * @return - */ - List getDeptSelectedById(SamplesManageAppVo data); - /** * 查询权限 * @param data diff --git a/src/main/java/com/bonus/aqgqj/app/service/SelectAppService.java b/src/main/java/com/bonus/aqgqj/app/service/SelectAppService.java index 8e1d064..2c53a87 100644 --- a/src/main/java/com/bonus/aqgqj/app/service/SelectAppService.java +++ b/src/main/java/com/bonus/aqgqj/app/service/SelectAppService.java @@ -27,4 +27,18 @@ public interface SelectAppService { * @return */ List getTestTeamSelected(); + + /** + * 获取单位下拉选 + * @param + * @return + */ + List getCustomNameSelected(); + + /** + * 根据单位id,获取部门下拉选 + * @param data + * @return + */ + List getDeptSelectedById(SamplesManageAppVo data); } diff --git a/src/main/java/com/bonus/aqgqj/app/service/impl/SamplesManageAppServiceImpl.java b/src/main/java/com/bonus/aqgqj/app/service/impl/SamplesManageAppServiceImpl.java index 353522e..e538167 100644 --- a/src/main/java/com/bonus/aqgqj/app/service/impl/SamplesManageAppServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/app/service/impl/SamplesManageAppServiceImpl.java @@ -52,62 +52,80 @@ public class SamplesManageAppServiceImpl implements SamplesManageAppService { public List getDetailsList(SamplesManageAppVo data) { return samplesManageAppDao.getDetailsList(data); } - - /** - * 查询所有单位列表 - * @return - */ - @Override - public List getAllCustomName() { - return samplesManageAppDao.getAllCustomName(); - } - @Override @Transactional(rollbackFor = Exception.class) public ServerResponse addSamples(SamplesManageAppVo data) { JSONArray jsonArray = JSONObject.parseArray(data.getParamsList()); List SamplesManageAppVos = jsonArray.toJavaList(SamplesManageAppVo.class); if (SamplesManageAppVos.size() > 0){ - //先增加基础数据表,并返回Id + //获取登录人id Integer userId = Integer.parseInt(UserUtil.getLoginUser().getId().toString()); - SamplesManageAppVos.get(0).setCreateBy(userId); - int re= samplesManageAppDao.addSamples(SamplesManageAppVos.get(0)); - if (re>0){ - //添加详情数据 - for (SamplesManageAppVo dto : SamplesManageAppVos){ - //查询设备类型编码 - if (dto.getSampleToolsId()!=null){ - String devTypeCode = samplesManageAppDao.getDevTypeCodeById(dto.getSampleToolsId()); - dto.setDevTypeCode(devTypeCode); - } - //生成设备编码 - String customerCode = customerCodeRule(); - dto.setCustomerCode(customerCode); - dto.setId(SamplesManageAppVos.get(0).getId()); - dto.setCreateBy(userId); - int res= samplesManageAppDao.addSamplesDevice(dto); - if (res<=0){ - throw new RuntimeException("收样设备信息表添加失败"); + //先查看收样批次编号是否为空 + String batchCode = SamplesManageAppVos.get(0).getBatchCode(); + if (StringHelper.isEmpty(batchCode)){ + //为空,则该批次首次上传数据,需要新增tb_sample表。并且需要生成批次编号。 + //生成编号 + String batchCode2 =batchCodeRule(); + SamplesManageAppVos.get(0).setBatchCode(batchCode2); + SamplesManageAppVos.get(0).setCreateBy(userId); + int re= samplesManageAppDao.addSamples(SamplesManageAppVos.get(0)); + if (re>0){ + //添加tb_sample_device数据 + Boolean state = addSamplesDevice(SamplesManageAppVos); + if (state){ + return ServerResponse.createBySuccessMsg(batchCode2); } + }else { + throw new RuntimeException("收样单位信息表添加失败"); } }else { - throw new RuntimeException("收样单位信息表添加失败"); + //不为空,则该批次已上传过数据,在该批次下,新增tb_sample_device表数据。 + //查询该编号的id + Integer sampleId = samplesManageAppDao.getIdByBatchCode(batchCode); + if (sampleId!=null){ + //添加tb_sample_device数据 + SamplesManageAppVos.get(0).setId(sampleId); + SamplesManageAppVos.get(0).setCreateBy(userId); + Boolean state = addSamplesDevice(SamplesManageAppVos); + if (state){ + return ServerResponse.createBySuccessMsg(batchCode); + } + }else { + throw new RuntimeException("收样批次编号不存在"); + } } }else { throw new RuntimeException("未获取到数据"); } - return ServerResponse.createBySuccessMsg("上传成功"); + return ServerResponse.createErroe("收样数据添加失败"); } /** - * 根据单位Id获取部门列表 + * 添加tb_sample_device数据 + * @param data */ - @Override - public List getDeptSelectedById(SamplesManageAppVo data) { - List list = samplesManageAppDao.getDeptSelectedById(data); - return list; + public Boolean addSamplesDevice(List data) { + for (SamplesManageAppVo dto : data){ + //查询设备类型编码 + if (dto.getSampleToolsId()!=null){ + String devTypeCode = samplesManageAppDao.getDevTypeCodeById(dto.getSampleToolsId()); + dto.setDevTypeCode(devTypeCode); + } + //生成设备编码 + String customerCode = customerCodeRule(); + dto.setCustomerCode(customerCode); + dto.setId(data.get(0).getId()); + dto.setCreateBy(data.get(0).getCreateBy()); + int res= samplesManageAppDao.addSamplesDevice(dto); + if (res<=0){ + throw new RuntimeException("收样设备信息表添加失败"); + } + } + return true; } + + @Override public Boolean getAuthority(SamplesManageAppVo data) { if (StringHelper.isNotEmpty(data.getName())){ @@ -159,6 +177,34 @@ public class SamplesManageAppServiceImpl implements SamplesManageAppService { return ServerResponse.createBySuccessMsg("派工成功"); } + /** + * 收样批次编号--自动生成 + * 格式:PYYYYMMDD-NN + * P:表示批次编号的前缀。 + * YYYY:年份(4位数字) + * MM:月份(2位数字) + * DD:日期(2位数字) + * NN:当天的批次序号(2位数字,按当天批次顺序递增) + * 每天的批次编号从 01 开始,按批次顺序递增 + */ + private String batchCodeRule() { + String nowDate = DateTimeHelper.getNowYMD(); + //查询本日收样批次流水号 + String batchCode = samplesManageAppDao.selectBatchCode(nowDate); + if (StringHelper.isNotEmpty(batchCode)) { + // 将字符串转换为整数 + int num = Integer.parseInt(batchCode); + // 执行加一操作 + num++; + // 将结果转换回字符串格式,并确保结果是四位数,不足四位则在前面补0 + batchCode = String.format("%02d", num); + } else { + batchCode = "01"; + } + String code = "P" + nowDate + "-" + batchCode; + return code; + } + /** * 设备编号--自动生成 * 格式:SYYYYMMDD-XXX diff --git a/src/main/java/com/bonus/aqgqj/app/service/impl/SelectServiceAppImpl.java b/src/main/java/com/bonus/aqgqj/app/service/impl/SelectServiceAppImpl.java index 8f2da6b..6714618 100644 --- a/src/main/java/com/bonus/aqgqj/app/service/impl/SelectServiceAppImpl.java +++ b/src/main/java/com/bonus/aqgqj/app/service/impl/SelectServiceAppImpl.java @@ -45,4 +45,20 @@ public class SelectServiceAppImpl implements SelectAppService { public List getTestTeamSelected() { return mapper.getTestTeamSelected(); } + + /** + * 获取单位下拉选 + */ + @Override + public List getCustomNameSelected() { + return mapper.getCustomNameSelected(); + } + + /** + * 根据单位id获取部门下拉选 + */ + @Override + public List getDeptSelectedById(SamplesManageAppVo data) { + return mapper.getDeptSelectedById(data); + } } diff --git a/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java b/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java index 6f73e0e..06b66df 100644 --- a/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java +++ b/src/main/java/com/bonus/aqgqj/utils/DateTimeHelper.java @@ -97,6 +97,9 @@ public class DateTimeHelper { return time; } + /** + * 获取当前年月日,格式:yyyyMMdd + */ public static String getNowYMD() { String time = new SimpleDateFormat("yyyyMMdd").format(new Date()); return time; diff --git a/src/main/resources/mappers/app/SamplesManageAppMapper.xml b/src/main/resources/mappers/app/SamplesManageAppMapper.xml index 48355c3..e13515c 100644 --- a/src/main/resources/mappers/app/SamplesManageAppMapper.xml +++ b/src/main/resources/mappers/app/SamplesManageAppMapper.xml @@ -8,14 +8,16 @@ sample_time, create_time, create_user, - sample_date) + sample_date, + batch_code) VALUES (#{customId}, #{customName}, #{sampleUser}, #{sampleTime}, NOW(), #{createBy}, - #{sampleTime}) + #{sampleTime}, + #{batchCode}) INSERT INTO tb_sample_device(sample_id, @@ -115,14 +117,6 @@ ) - - + + \ No newline at end of file diff --git a/src/main/resources/mappers/app/SelectAppMapper.xml b/src/main/resources/mappers/app/SelectAppMapper.xml index 557b37a..7fe5073 100644 --- a/src/main/resources/mappers/app/SelectAppMapper.xml +++ b/src/main/resources/mappers/app/SelectAppMapper.xml @@ -23,4 +23,21 @@ del_flag = 0 AND team_type_code =2 + + \ No newline at end of file