Merge branch 'branch_basic'

This commit is contained in:
sxu 2024-10-23 18:16:30 +08:00
commit 632947357e
11 changed files with 206 additions and 133 deletions

View File

@ -102,24 +102,8 @@ public class MaterialConstants {
public static final Integer NINE_CONSTANT = 9;
/**
* 已全部入库
* 未完成
*/
public static final Integer INVENTORY = 4;
/**
* 部分已入库
*/
public static final Integer PARTIALLY_WAREHOUSED = 9;
/**
* 入库审核中
*/
public static final Integer INBOUND_AUDIT = 5;
/**
* 入库审核未通过
*/
public static final Integer PURCHASE_STORAGE_NO_PASSED = 7;
public static final Integer TEN_CONSTANT = 10;
}

View File

@ -89,7 +89,7 @@ public class PurchaseBindController extends BaseController {
@ApiOperation(value = "二维码生成下载")
@PostMapping(value = "/downloadQrCode")
@PreventRepeatSubmit
//@RequiresPermissions("purchase:bind:download")
@RequiresPermissions("purchase:bind:download")
public void downloadQrCode(HttpServletResponse response, PurchaseDto purchaseDto) {
purchaseBindService.downloadQrCode(response, purchaseDto);
}
@ -100,7 +100,7 @@ public class PurchaseBindController extends BaseController {
* @return
*/
@ApiOperation(value = "驳回或批量驳回操作")
@com.bonus.material.common.annotation.PreventRepeatSubmit
@PreventRepeatSubmit
@RequiresPermissions("purchase:bind:reject")
@PostMapping("/reject")
public AjaxResult reject(@RequestBody PurchaseDto dto) {

View File

@ -44,16 +44,6 @@ public class PurchaseStorageController extends BaseController {
return getDataTable(list);
}
/**
* 获取新购验收入库详细信息
*/
@ApiOperation(value = "获取新购验收入库详细信息")
@RequiresPermissions("purchase:storage:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return AjaxResult.success(purchaseStorageService.selectPurchaseCheckInfoById(id));
}
/**
* 获取新购入库二级明细列表
* @param

View File

@ -80,4 +80,12 @@ public interface PurchaseBindMapper {
* @param purchaseId
*/
void updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String purchaseId);
/**
* 更新数量
* @param dto
* @param num
* @return
*/
int updateNum(@Param("dto") PurchaseDto dto, @Param("num") int num);
}

View File

@ -20,13 +20,6 @@ public interface PurchaseStorageMapper {
*/
List<PurchaseVo> selectAll(PurchaseDto dto);
/**
* 根据id查询详情
* @param id
* @return
*/
List<PurchaseVo> selectPurchaseCheckInfoById(Long id);
/**
* 查询详情
* @param dto
@ -40,7 +33,7 @@ public interface PurchaseStorageMapper {
* @param bindNum
* @return
*/
int updateNum(@Param("id") String purchaseId, @Param("purchaseNum") Integer bindNum);
int updateNum(@Param("id") String purchaseId, @Param("bindNum") Integer bindNum);
/**
* 更新状态

View File

@ -20,13 +20,6 @@ public interface IPurchaseStorageService {
*/
List<PurchaseVo> selectAll(PurchaseDto dto);
/**
* 根据id查询
* @param id
* @return
*/
List<PurchaseVo> selectPurchaseCheckInfoById(Long id);
/**
* 查询二级明细
* @param dto

View File

@ -5,23 +5,20 @@ import com.bonus.common.biz.config.DateTimeHelper;
import com.bonus.common.biz.config.QrCodeUtils;
import com.bonus.common.biz.constant.MaterialConstants;
import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.core.constant.SecurityConstants;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.purchase.config.RemoteConfig;
import com.bonus.material.purchase.dto.PurchaseDto;
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
import com.bonus.material.purchase.service.IPurchaseBindService;
import com.bonus.material.purchase.vo.PurchaseVo;
import com.bonus.material.task.mapper.TmTaskMapper;
import com.bonus.system.api.RemoteUserService;
import com.bonus.system.api.domain.SysUser;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.zxing.WriterException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@ -43,10 +40,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
private PurchaseBindMapper purchaseBindMapper;
@Resource
private RemoteUserService remoteUserService;
private TmTaskMapper tmTaskMapper;
@Resource
private TmTaskMapper tmTaskMapper;
private RemoteConfig remoteConfig;
/**
* 查询所有绑定信息
@ -86,21 +84,10 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
*/
private void extracted(List<PurchaseVo> list) {
for (PurchaseVo purchaseVo : list) {
try {
AjaxResult ajaxResult = remoteUserService.getInfo(Long.parseLong(purchaseVo.getCreateBy()), SecurityConstants.INNER);
if (ajaxResult.isSuccess()) {
// ajaxResult.get("data") 返回的是 LinkedHashMap
LinkedHashMap<String, Object> rawDataList = (LinkedHashMap<String, Object>) ajaxResult.get("data");
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
if (rawDataList != null) {
SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class);
purchaseVo.setCreateBy(sysUser.getNickName() == null ? "" : sysUser.getNickName());
}
}
} catch (IllegalArgumentException e) {
log.error("远程调用查询失败:", e.getMessage());
}
String userName = remoteConfig.getUserName(purchaseVo.getCreateBy());
purchaseVo.setCreateBy(userName == null ? "" : userName);
String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
purchaseVo.setStatusName(dictValue == null ? "" : dictValue);
}
}
@ -126,7 +113,14 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
*/
@Override
public List<PurchaseVo> getDetails(PurchaseDto dto) {
return purchaseBindMapper.getDetails(dto);
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
if (CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) {
String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
purchaseVo.setStatusName(name == null ? "" : name);
}
}
return list;
}
/**
@ -135,6 +129,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult bind(PurchaseDto dto) {
//先查询提交的编码中是否存在重复提交
long distinctCodes = dto.getDtoList().stream().map(PurchaseDto::getMaCode).distinct().count();
@ -154,14 +149,58 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
purchaseDto.setCreateTime(DateUtils.getNowDate());
purchaseDto.setTaskId(dto.getTaskId());
purchaseDto.setTypeId(dto.getTypeId());
purchaseDto.setStatus(0);
result += purchaseBindMapper.add(purchaseDto);
}
//根据前端传参更新绑定数量
result += purchaseBindMapper.updateNum(dto, dto.getDtoList().size());
//根据任务id和类型id查询状态
List<PurchaseVo> voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
if (CollectionUtils.isNotEmpty(voList)) {
for (PurchaseVo purchaseVo : voList) {
if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) {
purchaseBindMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, purchaseVo.getPurchaseId());
}
if (purchaseVo.getBindNum() < purchaseVo.getCheckNum()) {
purchaseBindMapper.updateStatusById(MaterialConstants.THREE_CONSTANT, purchaseVo.getPurchaseId());
}
}
}
PurchaseDto purchaseDto = new PurchaseDto();
purchaseDto.setTaskId(dto.getTaskId());
List<PurchaseVo> list = purchaseBindMapper.getDetails(purchaseDto);
Map<Integer, List<Integer>> groupedByIdStatus = list.stream()
.collect(Collectors.groupingBy(
PurchaseVo::getTaskId,
Collectors.mapping(PurchaseVo::getStatus, Collectors.toList())
));
result += groupedByIdStatus.entrySet().stream()
.mapToInt(entry -> updateTaskStatus(entry.getKey(), entry.getValue()))
.sum();
if (result > 0) {
return AjaxResult.success("绑定成功");
}
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
* 提取状态更新逻辑到一个方法
* @param taskId
* @param statusList
* @return
*/
private int updateTaskStatus(Integer taskId, List<Integer> statusList) {
if (statusList.contains(MaterialConstants.EIGHT_CONSTANT) ||
statusList.contains(MaterialConstants.THREE_CONSTANT)) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
} else if (!statusList.contains(MaterialConstants.EIGHT_CONSTANT) &&
!statusList.contains(MaterialConstants.THREE_CONSTANT) &&
statusList.contains(MaterialConstants.FOUR_CONSTANT)) {
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString());
}
return 0;
}
/**
* 下载二维码
* @param response
@ -196,19 +235,22 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult reject(PurchaseDto dto) {
//一级页面驳回
int result = 0;
if (dto.getTaskId() != null) {
//根据任务id查询详细信息
List<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
if (CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) {
//更新状态为已驳回
purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId());
if (purchaseVo.getStatus().equals(MaterialConstants.THREE_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.SEVEN_CONSTANT)) {
purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId());
}
}
}
result += tmTaskMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, dto.getTaskId());
result += tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, dto.getTaskId());
}
//二级页面驳回
if (dto.getPurchaseId() != null) {
@ -219,11 +261,12 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
for (String id : idList) {
//根据二级页面驳回状态更新任务状态
dto.setPurchaseId(id);
List<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
if (CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) {
dto.setTaskId(purchaseVo.getTaskId().toString());
List<PurchaseVo> voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
PurchaseDto purchaseDto = new PurchaseDto();
purchaseDto.setTaskId(purchaseVo.getTaskId().toString());
List<PurchaseVo> voList = purchaseBindMapper.getDetails(purchaseDto);
result = getResult(result, voList);
}
}
@ -251,11 +294,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
.mapToInt(entry -> {
Integer taskId = entry.getKey();
List<Integer> statusList = entry.getValue();
if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) {
return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, taskId.toString());
} else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)
&& !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) {
return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, taskId.toString());
if (statusList.contains(MaterialConstants.SEVEN_CONSTANT) || statusList.contains(MaterialConstants.THREE_CONSTANT)) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
} else if (!statusList.contains(MaterialConstants.SEVEN_CONSTANT) && !statusList.contains(MaterialConstants.THREE_CONSTANT)
&& statusList.contains(MaterialConstants.FOUR_CONSTANT)) {
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString());
}
return 0;
}).sum();

View File

@ -5,12 +5,15 @@ import com.bonus.common.biz.constant.MaterialConstants;
import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.ma.mapper.MachineMapper;
import com.bonus.material.purchase.config.RemoteConfig;
import com.bonus.material.purchase.dto.PurchaseDto;
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
import com.bonus.material.purchase.mapper.PurchaseStorageMapper;
import com.bonus.material.purchase.service.IPurchaseStorageService;
import com.bonus.material.purchase.vo.PurchaseVo;
import com.bonus.material.task.mapper.TmTaskMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
@ -35,9 +38,15 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
@Resource
private MachineMapper machineMapper;
@Resource
private PurchaseBindMapper purchaseBindMapper;
@Resource
private TmTaskMapper tmTaskMapper;
@Resource
private RemoteConfig remoteConfig;
/**
* 查询所有
* @param dto
@ -46,17 +55,21 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
@Override
public List<PurchaseVo> selectAll(PurchaseDto dto) {
List<PurchaseVo> list = purchaseStorageMapper.selectAll(dto);
extracted(list);
return list;
}
/**
* 根据id查询详情
* @param id
* @return
* 远程调用方法抽取
* @param list
*/
@Override
public List<PurchaseVo> selectPurchaseCheckInfoById(Long id) {
return purchaseStorageMapper.selectPurchaseCheckInfoById(id);
private void extracted(List<PurchaseVo> list) {
for (PurchaseVo purchaseVo : list) {
String userName = remoteConfig.getUserName(purchaseVo.getCreateBy());
purchaseVo.setCreateBy(userName == null ? "" : userName);
String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
purchaseVo.setStatusName(dictValue == null ? "" : dictValue);
}
}
/**
@ -66,7 +79,14 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
*/
@Override
public List<PurchaseVo> getDetails(PurchaseDto dto) {
return purchaseStorageMapper.getDetails(dto);
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
for (PurchaseVo purchaseVo : list) {
String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
purchaseVo.setStatusName(name == null ? "" : name);
}
}
return list;
}
/**
@ -75,6 +95,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult warehouse(PurchaseDto dto) {
if (dto.getTaskId() != null) {
//外层入库
@ -92,6 +113,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public AjaxResult reject(PurchaseDto dto) {
if (dto.getTaskId() != null) {
//外层驳回
@ -109,10 +131,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return
*/
private AjaxResult rejectByPurchaseIds(PurchaseDto purchaseDto) {
purchaseDto.setStatus(MaterialConstants.PURCHASE_STORAGE_NO_PASSED);
purchaseDto.setStatus(MaterialConstants.EIGHT_CONSTANT);
int result = 0;
try {
List<PurchaseVo> details = purchaseStorageMapper.getDetails(purchaseDto);
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
if (CollectionUtils.isNotEmpty(details)) {
result += updateRejectAndStatus(Integer.parseInt(purchaseDto.getPurchaseId()));
List<PurchaseVo> statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString());
@ -133,7 +155,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return
*/
private int updateRejectAndStatus(int purchaseId) {
return purchaseStorageMapper.updateStatusById(MaterialConstants.PURCHASE_STORAGE_NO_PASSED, purchaseId);
return purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, purchaseId);
}
/**
@ -148,11 +170,13 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
for (Integer taskId : taskIdList) {
dto.setTaskId(String.valueOf(taskId));
List<PurchaseVo> details;
details = purchaseStorageMapper.getDetails(dto);
details = purchaseBindMapper.getDetails(dto);
for (PurchaseVo purchaseVo : details) {
result += purchaseStorageMapper.updateStatusById(MaterialConstants.PURCHASE_STORAGE_NO_PASSED, Integer.parseInt(purchaseVo.getPurchaseId()));
if (purchaseVo.getStatus().equals(MaterialConstants.EIGHT_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.FOUR_CONSTANT)) {
result += purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, Integer.parseInt(purchaseVo.getPurchaseId()));
}
}
details = purchaseStorageMapper.getDetails(dto);
details = purchaseBindMapper.getDetails(dto);
result += updateTaskStatus(details);
}
if (result > 0) {
@ -170,10 +194,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return
*/
private AjaxResult processByPurchaseIds(PurchaseDto purchaseDto) {
purchaseDto.setStatus(MaterialConstants.INVENTORY);
purchaseDto.setStatus(MaterialConstants.FIVE_CONSTANT);
int result = 0;
try {
List<PurchaseVo> details = purchaseStorageMapper.getDetails(purchaseDto);
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
if (CollectionUtils.isNotEmpty(details)) {
result += updatePurchaseInfoAndDetails(details.get(0), Integer.parseInt(purchaseDto.getPurchaseId()));
List<PurchaseVo> statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString());
@ -195,7 +219,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
* @return
*/
private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) {
int result = purchaseStorageMapper.updateStatusById(MaterialConstants.INVENTORY, purchaseId);
int result = purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, purchaseId);
if (ZERO_CONSTANT.equals(detail.getManageType())) {
result += purchaseStorageMapper.insertMachine(detail);
} else if (ONE_CONSTANT.equals(detail.getManageType())) {
@ -216,9 +240,9 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
for (Integer taskId : taskIdList) {
dto.setTaskId(String.valueOf(taskId));
List<PurchaseVo> details;
details = purchaseStorageMapper.getDetails(dto);
details = purchaseBindMapper.getDetails(dto);
result += updateDetailsAndStatus(details);
details = purchaseStorageMapper.getDetails(dto);
details = purchaseBindMapper.getDetails(dto);
result += updateTaskStatus(details);
}
if (result > 0) {
@ -239,7 +263,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
return details.stream()
.mapToInt(detail -> {
int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum());
result += purchaseStorageMapper.updateStatusById(MaterialConstants.INVENTORY, Integer.parseInt(detail.getPurchaseId()));
result += purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, Integer.parseInt(detail.getPurchaseId()));
if (ZERO_CONSTANT.equals(detail.getManageType())) {
result += purchaseStorageMapper.insertMachine(detail);
} else if (ONE_CONSTANT.equals(detail.getManageType())) {
@ -265,11 +289,11 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
.mapToInt(entry -> {
Integer id = entry.getKey();
List<Integer> statusList = entry.getValue();
if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) {
return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, id.toString());
} else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)
&& !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) {
return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, id.toString());
if (statusList.contains(MaterialConstants.FOUR_CONSTANT) || statusList.contains(MaterialConstants.EIGHT_CONSTANT)) {
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, id.toString());
} else if (!statusList.contains(MaterialConstants.FOUR_CONSTANT) && !statusList.contains(MaterialConstants.EIGHT_CONSTANT)
&& statusList.contains(MaterialConstants.FIVE_CONSTANT)) {
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, id.toString());
}
return 0;
}).sum();

View File

@ -88,9 +88,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateNum">
UPDATE purchase_check_details
SET input_num = #{purchaseNum}
WHERE
id = #{id}
SET bind_num = bind_num + COALESCE(#{num}, 0)
WHERE task_id = #{dto.taskId}
AND type_id = #{dto.typeId}
AND #{num} IS NOT NULL
</update>
<update id="updateStatusById">
@ -171,10 +172,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pcd.production_time AS productDate,
pm.qr_code AS qrCode,
pm.qr_url AS qrUrl,
pcd.check_num AS purchaseNum,
pcd.check_num AS checkNum,
pcd.bind_num AS bindNum,
pcd.status AS status
FROM
purchase_macode_info pm
LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id
AND pm.type_id = pcd.type_id
LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
WHERE
@ -245,7 +250,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM
purchase_macode_info
WHERE
DATE_FORMAT(create_time, '%Y-%m') = #{genMonth}
DATE_FORMAT(create_time, '%Y-%m') = #{genMonth} and ma_code is null
ORDER BY
qr_code DESC
</select>

View File

@ -5,12 +5,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<mapper namespace="com.bonus.material.purchase.mapper.PurchaseStorageMapper">
<insert id="insertMachine">
insert into ma_machine
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="typeId != null">type_id,</if>
<if test="maCode != null">ma_code,</if>
<if test="preCode != null">pre_code,</if>
<if test="maStatus != null">ma_status,</if>
<if test="qrCode != null">qr_code,</if>
<if test="buyPrice != null">buy_price,</if>
<if test="maVender != null">ma_vender,</if>
<if test="outFacTime != null">out_fac_time,</if>
<if test="outFacCode != null">out_fac_code,</if>
<if test="assetsCode != null">assets_code,</if>
<if test="checkMan != null">check_man,</if>
<if test="thisCheckTime != null">this_check_time,</if>
<if test="nextCheckTime != null">next_check_time,</if>
<if test="gpsCode != null">gps_code,</if>
<if test="rfidCode != null">rfid_code,</if>
<if test="erpCode != null">erp_code,</if>
<if test="transferCode != null">transfer_code,</if>
<if test="inOutNum != null">in_out_num,</if>
<if test="buyTask != null">buy_task,</if>
<if test="ownHouse != null">own_house,</if>
<if test="companyId != null">company_id,</if>
create_time,
<if test="inspectMan != null">inspect_man,</if>
<if test="inspectStatus != null">inspect_status,</if>
<if test="phone != null">phone,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="typeId != null">#{typeId},</if>
<if test="maCode != null">#{maCode},</if>
<if test="preCode != null">#{preCode},</if>
<if test="maStatus != null">#{maStatus},</if>
<if test="qrCode != null">#{qrCode},</if>
<if test="buyPrice != null">#{buyPrice},</if>
<if test="maVender != null">#{maVender},</if>
<if test="outFacTime != null">#{outFacTime},</if>
<if test="outFacCode != null">#{outFacCode},</if>
<if test="assetsCode != null">#{assetsCode},</if>
<if test="checkMan != null">#{checkMan},</if>
<if test="thisCheckTime != null">#{thisCheckTime},</if>
<if test="nextCheckTime != null">#{nextCheckTime},</if>
<if test="gpsCode != null">#{gpsCode},</if>
<if test="rfidCode != null">#{rfidCode},</if>
<if test="erpCode != null">#{erpCode},</if>
<if test="transferCode != null">#{transferCode},</if>
<if test="inOutNum != null">#{inOutNum},</if>
<if test="buyTask != null">#{buyTask},</if>
<if test="ownHouse != null">#{ownHouse},</if>
<if test="companyId != null">#{companyId},</if>
now(),
<if test="inspectMan != null">#{inspectMan},</if>
<if test="inspectStatus != null">#{inspectStatus},</if>
<if test="phone != null">#{phone},</if>
</trim>
</insert>
<update id="updateNum">
UPDATE purchase_check_details
SET input_num = #{purchaseNum},
SET input_num = #{bindNum},
input_time = now()
WHERE
id = #{id}
@ -66,29 +120,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
pci.arrival_time DESC
</select>
<select id="selectPurchaseCheckInfoById" resultType="com.bonus.material.purchase.vo.PurchaseVo">
SELECT
pci.task_id as taskId,
mt1.type_name AS materialName,
mt.type_name AS materialModel,
pcd.check_num AS purchaseNum,
pcd.check_num AS checkNum,
pcd.bind_num AS bindNum,
mt.unit_name AS unitName,
pcd.type_id as typeId,
ms.supplier AS supplierName,
pcd.production_time AS productDate,
mt.manage_type as manageType,
pcd.`status` as STATUS
FROM
purchase_check_info pci
LEFT JOIN tm_task tt ON pci.task_id = tt.task_id
LEFT JOIN purchase_check_details pcd ON pci.task_id = pcd.task_id
LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
LEFT JOIN ma_supplier_info ms ON pcd.supplier_id = ms.supplier_id
where pci.task_id = #{id}
</select>
<select id="getDetails" resultType="com.bonus.material.purchase.vo.PurchaseVo">
SELECT
@ -128,6 +159,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="purchaseId != null">
AND pcd.id = #{purchaseId}
</if>
GROUP BY
pcd.type_id
</select>
<select id="select" resultType="com.bonus.material.purchase.vo.PurchaseVo">

View File

@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</update>
<update id="updateStatusById">
update tm_task set status = #{updatedStatus} where id = #{id}
update tm_task set task_status = #{updatedStatus} where task_id = #{id}
</update>
<delete id="deleteTmTaskByTaskId" parameterType="Long">